{
  "type": "Program",
  "start": 0,
  "end": 6774,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 185,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 74,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 74
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 17,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 17
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "name": "Statement"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "name": "Statement"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 19,
          "end": 26,
          "loc": {
            "start": {
              "line": 1,
              "column": 19
            },
            "end": {
              "line": 1,
              "column": 26
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 19,
            "end": 26,
            "loc": {
              "start": {
                "line": 1,
                "column": 19
              },
              "end": {
                "line": 1,
                "column": 26
              }
            },
            "name": "parseTo"
          },
          "local": {
            "type": "Identifier",
            "start": 19,
            "end": 26,
            "loc": {
              "start": {
                "line": 1,
                "column": 19
              },
              "end": {
                "line": 1,
                "column": 26
              }
            },
            "name": "parseTo"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 28,
          "end": 43,
          "loc": {
            "start": {
              "line": 1,
              "column": 28
            },
            "end": {
              "line": 1,
              "column": 43
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 28,
            "end": 43,
            "loc": {
              "start": {
                "line": 1,
                "column": 28
              },
              "end": {
                "line": 1,
                "column": 43
              }
            },
            "name": "parseObjectTree"
          },
          "local": {
            "type": "Identifier",
            "start": 28,
            "end": 43,
            "loc": {
              "start": {
                "line": 1,
                "column": 28
              },
              "end": {
                "line": 1,
                "column": 43
              }
            },
            "name": "parseObjectTree"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 50,
        "end": 73,
        "loc": {
          "start": {
            "line": 1,
            "column": 50
          },
          "end": {
            "line": 1,
            "column": 73
          }
        },
        "value": "../sketcher/cchelpers",
        "rawValue": "../sketcher/cchelpers",
        "raw": "'../sketcher/cchelpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 76,
      "end": 102,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 83,
          "end": 88,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 83,
            "end": 88,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 94,
        "end": 101,
        "loc": {
          "start": {
            "line": 2,
            "column": 18
          },
          "end": {
            "line": 2,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 104,
      "end": 143,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 111,
          "end": 118,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 111,
            "end": 118,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 124,
        "end": 142,
        "loc": {
          "start": {
            "line": 3,
            "column": 20
          },
          "end": {
            "line": 3,
            "column": 38
          }
        },
        "value": "../three/object3",
        "rawValue": "../three/object3",
        "raw": "'../three/object3'"
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\r\n * Base class for all objects having corresponding object on the server.\r\n * It is the default class for creating objects when parsing object tree.\r\n * To provide more specialized client class for corresponding server class use classMapping:\r\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\r\n ",
          "start": 147,
          "end": 463,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "range": [
            147,
            463
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 465,
      "end": 3095,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 78,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 472,
        "end": 3095,
        "loc": {
          "start": {
            "line": 11,
            "column": 7
          },
          "end": {
            "line": 78,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 478,
          "end": 492,
          "loc": {
            "start": {
              "line": 11,
              "column": 13
            },
            "end": {
              "line": 11,
              "column": 27
            }
          },
          "name": "ClassCadObject",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 501,
          "end": 508,
          "loc": {
            "start": {
              "line": 11,
              "column": 36
            },
            "end": {
              "line": 11,
              "column": 43
            }
          },
          "name": "Object3"
        },
        "body": {
          "type": "ClassBody",
          "start": 509,
          "end": 3095,
          "loc": {
            "start": {
              "line": 11,
              "column": 44
            },
            "end": {
              "line": 78,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 516,
              "end": 601,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 516,
                "end": 527,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 4
                  },
                  "end": {
                    "line": 12,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 527,
                "end": 601,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 15
                  },
                  "end": {
                    "line": 15,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 530,
                  "end": 601,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 18
                    },
                    "end": {
                      "line": 15,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 541,
                      "end": 549,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 541,
                        "end": 548,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 541,
                          "end": 546,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 559,
                      "end": 594,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 559,
                        "end": 593,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 559,
                          "end": 571,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 559,
                            "end": 563,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 564,
                            "end": 571,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 13
                              },
                              "end": {
                                "line": 14,
                                "column": 20
                              }
                            },
                            "name": "members"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 574,
                          "end": 593,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 23
                            },
                            "end": {
                              "line": 14,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 574,
                            "end": 587,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 23
                              },
                              "end": {
                                "line": 14,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 574,
                              "end": 580,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 23
                                },
                                "end": {
                                  "line": 14,
                                  "column": 29
                                }
                              },
                              "name": "Object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 581,
                              "end": 587,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 30
                                },
                                "end": {
                                  "line": 14,
                                  "column": 36
                                }
                              },
                              "name": "create"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 588,
                              "end": 592,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 37
                                },
                                "end": {
                                  "line": 14,
                                  "column": 41
                                }
                              },
                              "value": null,
                              "rawValue": null,
                              "raw": "null"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 609,
              "end": 806,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 4
                },
                "end": {
                  "line": 21,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 613,
                "end": 621,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 8
                  },
                  "end": {
                    "line": 17,
                    "column": 16
                  }
                },
                "name": "fullName"
              },
              "static": false,
              "kind": "get",
              "value": {
                "type": "FunctionExpression",
                "start": 621,
                "end": 806,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 16
                  },
                  "end": {
                    "line": 21,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 624,
                  "end": 806,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 19
                    },
                    "end": {
                      "line": 21,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 635,
                      "end": 659,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 32
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 639,
                          "end": 658,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 12
                            },
                            "end": {
                              "line": 18,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 639,
                            "end": 644,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 12
                              },
                              "end": {
                                "line": 18,
                                "column": 17
                              }
                            },
                            "name": "names"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 647,
                            "end": 658,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 20
                              },
                              "end": {
                                "line": 18,
                                "column": 31
                              }
                            },
                            "elements": [
                              {
                                "type": "MemberExpression",
                                "start": 648,
                                "end": 657,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 648,
                                  "end": 652,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 653,
                                  "end": 657,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 30
                                    }
                                  },
                                  "name": "name"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 669,
                      "end": 756,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 95
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 669,
                        "end": 755,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 94
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 669,
                          "end": 691,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 669,
                            "end": 673,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 674,
                            "end": 691,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 13
                              },
                              "end": {
                                "line": 19,
                                "column": 30
                              }
                            },
                            "name": "traverseAncestors"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 692,
                            "end": 754,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 31
                              },
                              "end": {
                                "line": 19,
                                "column": 93
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 692,
                                "end": 695,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 34
                                  }
                                },
                                "name": "anc"
                              }
                            ],
                            "body": {
                              "type": "LogicalExpression",
                              "start": 699,
                              "end": 754,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 38
                                },
                                "end": {
                                  "line": 19,
                                  "column": 93
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 700,
                                "end": 729,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 700,
                                  "end": 703,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 42
                                    }
                                  },
                                  "name": "anc"
                                },
                                "operator": "instanceof",
                                "right": {
                                  "type": "Identifier",
                                  "start": 715,
                                  "end": 729,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 68
                                    }
                                  },
                                  "name": "ClassCadObject"
                                },
                                "parenthesizedExpression": true
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 734,
                                "end": 754,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 93
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 734,
                                  "end": 744,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 83
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 734,
                                    "end": 739,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 78
                                      }
                                    },
                                    "name": "names"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 740,
                                    "end": 744,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 83
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 745,
                                    "end": 753,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 92
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 745,
                                      "end": 748,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 87
                                        }
                                      },
                                      "name": "anc"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 749,
                                      "end": 753,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 88
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 92
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 766,
                      "end": 799,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 8
                        },
                        "end": {
                          "line": 20,
                          "column": 41
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 773,
                        "end": 798,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 15
                          },
                          "end": {
                            "line": 20,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 773,
                          "end": 793,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 15
                            },
                            "end": {
                              "line": 20,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 773,
                            "end": 788,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 15
                              },
                              "end": {
                                "line": 20,
                                "column": 30
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 773,
                              "end": 786,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 15
                                },
                                "end": {
                                  "line": 20,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 773,
                                "end": 778,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 20
                                  }
                                },
                                "name": "names"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 779,
                                "end": 786,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 28
                                  }
                                },
                                "name": "reverse"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 789,
                            "end": 793,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 31
                              },
                              "end": {
                                "line": 20,
                                "column": 35
                              }
                            },
                            "name": "join"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 794,
                            "end": 797,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 36
                              },
                              "end": {
                                "line": 20,
                                "column": 39
                              }
                            },
                            "value": ".",
                            "rawValue": ".",
                            "raw": "'.'"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 814,
              "end": 905,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 4
                },
                "end": {
                  "line": 25,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 814,
                "end": 830,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 4
                  },
                  "end": {
                    "line": 23,
                    "column": 20
                  }
                },
                "name": "updateFromServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 830,
                "end": 905,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 20
                  },
                  "end": {
                    "line": 25,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 833,
                  "end": 905,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 23
                    },
                    "end": {
                      "line": 25,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 844,
                      "end": 898,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 62
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 851,
                        "end": 897,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 15
                          },
                          "end": {
                            "line": 24,
                            "column": 61
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 851,
                          "end": 882,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 15
                            },
                            "end": {
                              "line": 24,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 851,
                            "end": 877,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 15
                              },
                              "end": {
                                "line": 24,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 851,
                              "end": 871,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 15
                                },
                                "end": {
                                  "line": 24,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 851,
                                "end": 860,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 24
                                  }
                                },
                                "name": "Statement"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 861,
                                "end": 871,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 35
                                  }
                                },
                                "name": "JSONExport"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 872,
                                "end": 876,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 40
                                  }
                                }
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 878,
                            "end": 882,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 42
                              },
                              "end": {
                                "line": 24,
                                "column": 46
                              }
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 883,
                            "end": 896,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 47
                              },
                              "end": {
                                "line": 24,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 883,
                              "end": 890,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 47
                                },
                                "end": {
                                  "line": 24,
                                  "column": 54
                                }
                              },
                              "name": "parseTo"
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 891,
                                "end": 895,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 59
                                  }
                                }
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 913,
              "end": 940,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 4
                },
                "end": {
                  "line": 28,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 913,
                "end": 929,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 4
                  },
                  "end": {
                    "line": 27,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 929,
                "end": 940,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 20
                  },
                  "end": {
                    "line": 28,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 932,
                  "end": 940,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 23
                    },
                    "end": {
                      "line": 28,
                      "column": 5
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 948,
              "end": 1686,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 43,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 948,
                "end": 965,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 4
                  },
                  "end": {
                    "line": 30,
                    "column": 21
                  }
                },
                "name": "setFromObjectTree"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 965,
                "end": 1686,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 21
                  },
                  "end": {
                    "line": 43,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 966,
                    "end": 980,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 22
                      },
                      "end": {
                        "line": 30,
                        "column": 36
                      }
                    },
                    "name": "objectTreeNode"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 982,
                  "end": 1686,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 38
                    },
                    "end": {
                      "line": 43,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 993,
                      "end": 1026,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 993,
                        "end": 1025,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 31,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 993,
                          "end": 1002,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 993,
                            "end": 997,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 998,
                            "end": 1002,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 13
                              },
                              "end": {
                                "line": 31,
                                "column": 17
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1005,
                          "end": 1025,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 20
                            },
                            "end": {
                              "line": 31,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1005,
                            "end": 1019,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 20
                              },
                              "end": {
                                "line": 31,
                                "column": 34
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1020,
                            "end": 1025,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 35
                              },
                              "end": {
                                "line": 31,
                                "column": 40
                              }
                            },
                            "name": "class"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1036,
                      "end": 1068,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1036,
                        "end": 1067,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1036,
                          "end": 1045,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1036,
                            "end": 1040,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1041,
                            "end": 1045,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 13
                              },
                              "end": {
                                "line": 32,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1048,
                          "end": 1067,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 20
                            },
                            "end": {
                              "line": 32,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1048,
                            "end": 1062,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 20
                              },
                              "end": {
                                "line": 32,
                                "column": 34
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1063,
                            "end": 1067,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 35
                              },
                              "end": {
                                "line": 32,
                                "column": 39
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " TODO many nodes (e.g. _O, SketchSets) strangely have visible = 0",
                          "start": 1078,
                          "end": 1145,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 75
                            }
                          },
                          "range": [
                            1078,
                            1145
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " this.visible = Boolean(objectTreeNode.objectInfo.graphicInfo.visible);",
                          "start": 1155,
                          "end": 1228,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 81
                            }
                          },
                          "range": [
                            1155,
                            1228
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1238,
                      "end": 1275,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1238,
                        "end": 1274,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1238,
                          "end": 1254,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1238,
                            "end": 1251,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1238,
                              "end": 1242,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 8
                                },
                                "end": {
                                  "line": 35,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1243,
                              "end": 1251,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 13
                                },
                                "end": {
                                  "line": 35,
                                  "column": 21
                                }
                              },
                              "name": "userData"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1252,
                            "end": 1254,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 22
                              },
                              "end": {
                                "line": 35,
                                "column": 24
                              }
                            },
                            "name": "id"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1257,
                          "end": 1274,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 27
                            },
                            "end": {
                              "line": 35,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1257,
                            "end": 1271,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 27
                              },
                              "end": {
                                "line": 35,
                                "column": 41
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1272,
                            "end": 1274,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 42
                              },
                              "end": {
                                "line": 35,
                                "column": 44
                              }
                            },
                            "name": "id"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " TODO many nodes (e.g. _O, SketchSets) strangely have visible = 0",
                          "start": 1078,
                          "end": 1145,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 75
                            }
                          },
                          "range": [
                            1078,
                            1145
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " this.visible = Boolean(objectTreeNode.objectInfo.graphicInfo.visible);",
                          "start": 1155,
                          "end": 1228,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 81
                            }
                          },
                          "range": [
                            1155,
                            1228
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1285,
                      "end": 1339,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1285,
                        "end": 1338,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 8
                          },
                          "end": {
                            "line": 36,
                            "column": 61
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1285,
                          "end": 1304,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1285,
                            "end": 1298,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1285,
                              "end": 1289,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 8
                                },
                                "end": {
                                  "line": 36,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1290,
                              "end": 1298,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 13
                                },
                                "end": {
                                  "line": 36,
                                  "column": 21
                                }
                              },
                              "name": "userData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1299,
                            "end": 1304,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 22
                              },
                              "end": {
                                "line": 36,
                                "column": 27
                              }
                            },
                            "name": "flags"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1307,
                          "end": 1338,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 30
                            },
                            "end": {
                              "line": 36,
                              "column": 61
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1307,
                            "end": 1332,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 30
                              },
                              "end": {
                                "line": 36,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1307,
                              "end": 1321,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 30
                                },
                                "end": {
                                  "line": 36,
                                  "column": 44
                                }
                              },
                              "name": "objectTreeNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1322,
                              "end": 1332,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 45
                                },
                                "end": {
                                  "line": 36,
                                  "column": 55
                                }
                              },
                              "name": "objectInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1333,
                            "end": 1338,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 56
                              },
                              "end": {
                                "line": 36,
                                "column": 61
                              }
                            },
                            "name": "flags"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 1349,
                      "end": 1506,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1358,
                        "end": 1362,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 17
                          },
                          "end": {
                            "line": 37,
                            "column": 21
                          }
                        },
                        "name": "vec3"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 1363,
                          "end": 1367,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 22
                            },
                            "end": {
                              "line": 37,
                              "column": 26
                            }
                          },
                          "name": "name"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 1369,
                        "end": 1506,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 28
                          },
                          "end": {
                            "line": 40,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 1384,
                            "end": 1441,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 12
                              },
                              "end": {
                                "line": 38,
                                "column": 69
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 1388,
                                "end": 1440,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 68
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 1388,
                                  "end": 1389,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 17
                                    }
                                  },
                                  "name": "v"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 1392,
                                  "end": 1440,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1392,
                                    "end": 1434,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1392,
                                      "end": 1417,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 45
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1392,
                                        "end": 1406,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 34
                                          }
                                        },
                                        "name": "objectTreeNode"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1407,
                                        "end": 1417,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 45
                                          }
                                        },
                                        "name": "objectInfo"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1418,
                                      "end": 1434,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 62
                                        }
                                      },
                                      "name": "coordinateSystem"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1435,
                                    "end": 1439,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 67
                                      }
                                    },
                                    "name": "name"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 1455,
                            "end": 1495,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 12
                              },
                              "end": {
                                "line": 39,
                                "column": 52
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1462,
                              "end": 1494,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 19
                                },
                                "end": {
                                  "line": 39,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1466,
                                "end": 1479,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1466,
                                  "end": 1471,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 28
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1472,
                                  "end": 1479,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 36
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1480,
                                  "end": 1483,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1480,
                                    "end": 1481,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 38
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1482,
                                    "end": 1483,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 40
                                      }
                                    },
                                    "name": "x"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 1485,
                                  "end": 1488,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1485,
                                    "end": 1486,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 43
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1487,
                                    "end": 1488,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 45
                                      }
                                    },
                                    "name": "y"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 1490,
                                  "end": 1493,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1490,
                                    "end": 1491,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 48
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1492,
                                    "end": 1493,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 50
                                      }
                                    },
                                    "name": "z"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Object tree has world (not local) coordinates",
                          "start": 1516,
                          "end": 1564,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 56
                            }
                          },
                          "range": [
                            1516,
                            1564
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1574,
                      "end": 1679,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 113
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1574,
                        "end": 1678,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 112
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1574,
                          "end": 1663,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 97
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1574,
                            "end": 1651,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 85
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1574,
                              "end": 1600,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 42,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1574,
                                "end": 1590,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1574,
                                  "end": 1578,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 12
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1579,
                                  "end": 1590,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 24
                                    }
                                  },
                                  "name": "matrixWorld"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1591,
                                "end": 1600,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 34
                                  }
                                },
                                "name": "makeBasis"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 1601,
                                "end": 1616,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1601,
                                  "end": 1605,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 39
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1606,
                                    "end": 1615,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 49
                                      }
                                    },
                                    "value": "vectorX",
                                    "rawValue": "vectorX",
                                    "raw": "'vectorX'"
                                  }
                                ]
                              },
                              {
                                "type": "CallExpression",
                                "start": 1618,
                                "end": 1633,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 67
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1618,
                                  "end": 1622,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 56
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1623,
                                    "end": 1632,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 66
                                      }
                                    },
                                    "value": "vectorY",
                                    "rawValue": "vectorY",
                                    "raw": "'vectorY'"
                                  }
                                ]
                              },
                              {
                                "type": "CallExpression",
                                "start": 1635,
                                "end": 1650,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 84
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1635,
                                  "end": 1639,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 73
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1640,
                                    "end": 1649,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 74
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 83
                                      }
                                    },
                                    "value": "vectorZ",
                                    "rawValue": "vectorZ",
                                    "raw": "'vectorZ'"
                                  }
                                ]
                              }
                            ],
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1652,
                            "end": 1663,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 86
                              },
                              "end": {
                                "line": 42,
                                "column": 97
                              }
                            },
                            "name": "setPosition"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 1664,
                            "end": 1677,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 98
                              },
                              "end": {
                                "line": 42,
                                "column": 111
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1664,
                              "end": 1668,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 98
                                },
                                "end": {
                                  "line": 42,
                                  "column": 102
                                }
                              },
                              "name": "vec3"
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 1669,
                                "end": 1676,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 103
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 110
                                  }
                                },
                                "value": "point",
                                "rawValue": "point",
                                "raw": "'point'"
                              }
                            ]
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Object tree has world (not local) coordinates",
                          "start": 1516,
                          "end": 1564,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 56
                            }
                          },
                          "range": [
                            1516,
                            1564
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 1694,
              "end": 1835,
              "loc": {
                "start": {
                  "line": 45,
                  "column": 4
                },
                "end": {
                  "line": 48,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1694,
                "end": 1721,
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 4
                  },
                  "end": {
                    "line": 45,
                    "column": 31
                  }
                },
                "name": "updateMatrixFromMatrixWorld"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 1721,
                "end": 1835,
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 31
                  },
                  "end": {
                    "line": 48,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1724,
                  "end": 1835,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 34
                    },
                    "end": {
                      "line": 48,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1735,
                      "end": 1783,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 56
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1735,
                        "end": 1782,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 55
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1735,
                          "end": 1757,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1735,
                            "end": 1746,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1735,
                              "end": 1739,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 46,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1740,
                              "end": 1746,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 13
                                },
                                "end": {
                                  "line": 46,
                                  "column": 19
                                }
                              },
                              "name": "matrix"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1747,
                            "end": 1757,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 20
                              },
                              "end": {
                                "line": 46,
                                "column": 30
                              }
                            },
                            "name": "getInverse"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1758,
                            "end": 1781,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 31
                              },
                              "end": {
                                "line": 46,
                                "column": 54
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1758,
                              "end": 1769,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 31
                                },
                                "end": {
                                  "line": 46,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1758,
                                "end": 1762,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 35
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1763,
                                "end": 1769,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 42
                                  }
                                },
                                "name": "parent"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1770,
                              "end": 1781,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 43
                                },
                                "end": {
                                  "line": 46,
                                  "column": 54
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1793,
                      "end": 1828,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1793,
                        "end": 1827,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1793,
                          "end": 1809,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1793,
                            "end": 1797,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1798,
                            "end": 1809,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 13
                              },
                              "end": {
                                "line": 47,
                                "column": 24
                              }
                            },
                            "name": "applyMatrix"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1810,
                            "end": 1826,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 25
                              },
                              "end": {
                                "line": 47,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1810,
                              "end": 1814,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 25
                                },
                                "end": {
                                  "line": 47,
                                  "column": 29
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1815,
                              "end": 1826,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 30
                                },
                                "end": {
                                  "line": 47,
                                  "column": 41
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 1843,
              "end": 2439,
              "loc": {
                "start": {
                  "line": 50,
                  "column": 4
                },
                "end": {
                  "line": 61,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1843,
                "end": 1852,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 4
                  },
                  "end": {
                    "line": 50,
                    "column": 13
                  }
                },
                "name": "addMember"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 1852,
                "end": 2439,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 13
                  },
                  "end": {
                    "line": 61,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1853,
                    "end": 1859,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 14
                      },
                      "end": {
                        "line": 50,
                        "column": 20
                      }
                    },
                    "name": "member"
                  },
                  {
                    "type": "Identifier",
                    "start": 1861,
                    "end": 1879,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 22
                      },
                      "end": {
                        "line": 50,
                        "column": 40
                      }
                    },
                    "name": "markAsFreshlyAdded"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1881,
                  "end": 2439,
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 42
                    },
                    "end": {
                      "line": 61,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1892,
                      "end": 1947,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1892,
                        "end": 1946,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 62
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1892,
                          "end": 1937,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1892,
                            "end": 1904,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1892,
                              "end": 1896,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 8
                                },
                                "end": {
                                  "line": 51,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1897,
                              "end": 1904,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 13
                                },
                                "end": {
                                  "line": 51,
                                  "column": 20
                                }
                              },
                              "name": "members"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "MemberExpression",
                            "start": 1905,
                            "end": 1936,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 21
                              },
                              "end": {
                                "line": 51,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1905,
                              "end": 1931,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 21
                                },
                                "end": {
                                  "line": 51,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1905,
                                "end": 1920,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1905,
                                  "end": 1911,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 27
                                    }
                                  },
                                  "name": "member"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1912,
                                  "end": 1920,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 36
                                    }
                                  },
                                  "name": "userData"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1921,
                                "end": 1931,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 47
                                  }
                                },
                                "name": "memberInfo"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1932,
                              "end": 1936,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 48
                                },
                                "end": {
                                  "line": 51,
                                  "column": 52
                                }
                              },
                              "name": "name"
                            },
                            "computed": false
                          },
                          "computed": true
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1940,
                          "end": 1946,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 56
                            },
                            "end": {
                              "line": 51,
                              "column": 62
                            }
                          },
                          "name": "member"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1957,
                      "end": 2020,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 71
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1957,
                        "end": 2019,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 70
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1957,
                          "end": 1998,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1957,
                            "end": 1983,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 8
                              },
                              "end": {
                                "line": 52,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1957,
                              "end": 1972,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 8
                                },
                                "end": {
                                  "line": 52,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1957,
                                "end": 1963,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 14
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1964,
                                "end": 1972,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 23
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1973,
                              "end": 1983,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 24
                                },
                                "end": {
                                  "line": 52,
                                  "column": 34
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1984,
                            "end": 1998,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 35
                              },
                              "end": {
                                "line": 52,
                                "column": 49
                              }
                            },
                            "name": "isFreshlyAdded"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 2001,
                          "end": 2019,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 52
                            },
                            "end": {
                              "line": 52,
                              "column": 70
                            }
                          },
                          "name": "markAsFreshlyAdded"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 2030,
                      "end": 2335,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2034,
                        "end": 2081,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 12
                          },
                          "end": {
                            "line": 53,
                            "column": 59
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2034,
                          "end": 2065,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 12
                            },
                            "end": {
                              "line": 53,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2034,
                            "end": 2060,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 12
                              },
                              "end": {
                                "line": 53,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2034,
                              "end": 2049,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 12
                                },
                                "end": {
                                  "line": 53,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2034,
                                "end": 2040,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 18
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2041,
                                "end": 2049,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 27
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2050,
                              "end": 2060,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 28
                                },
                                "end": {
                                  "line": 53,
                                  "column": 38
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2061,
                            "end": 2065,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 39
                              },
                              "end": {
                                "line": 53,
                                "column": 43
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 2070,
                          "end": 2081,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 48
                            },
                            "end": {
                              "line": 53,
                              "column": 59
                            }
                          },
                          "value": "objectMem",
                          "rawValue": "objectMem",
                          "raw": "'objectMem'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2083,
                        "end": 2335,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 61
                          },
                          "end": {
                            "line": 58,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 2098,
                            "end": 2160,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 12
                              },
                              "end": {
                                "line": 55,
                                "column": 33
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 2102,
                              "end": 2124,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 16
                                },
                                "end": {
                                  "line": 54,
                                  "column": 38
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 2102,
                                "end": 2115,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2102,
                                  "end": 2108,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 22
                                    }
                                  },
                                  "name": "member"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2109,
                                  "end": 2115,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 29
                                    }
                                  },
                                  "name": "parent"
                                },
                                "computed": false
                              },
                              "operator": "!==",
                              "right": {
                                "type": "ThisExpression",
                                "start": 2120,
                                "end": 2124,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 38
                                  }
                                }
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 2143,
                              "end": 2160,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 16
                                },
                                "end": {
                                  "line": 55,
                                  "column": 33
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 2143,
                                "end": 2159,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 32
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2143,
                                  "end": 2151,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2143,
                                    "end": 2147,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2148,
                                    "end": 2151,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 24
                                      }
                                    },
                                    "name": "add"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 2152,
                                    "end": 2158,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 31
                                      }
                                    },
                                    "name": "member"
                                  }
                                ]
                              },
                              "trailingComments": null
                            },
                            "alternate": null,
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " World coordinates are set from the object tree. Now that parent is known, set local coordinates.",
                                "start": 2174,
                                "end": 2273,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 111
                                  }
                                },
                                "range": [
                                  2174,
                                  2273
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2287,
                            "end": 2324,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 12
                              },
                              "end": {
                                "line": 57,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 2287,
                              "end": 2323,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 12
                                },
                                "end": {
                                  "line": 57,
                                  "column": 48
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2287,
                                "end": 2321,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2287,
                                  "end": 2293,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 18
                                    }
                                  },
                                  "name": "member",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2294,
                                  "end": 2321,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 46
                                    }
                                  },
                                  "name": "updateMatrixFromMatrixWorld"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " World coordinates are set from the object tree. Now that parent is known, set local coordinates.",
                                "start": 2174,
                                "end": 2273,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 111
                                  }
                                },
                                "range": [
                                  2174,
                                  2273
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 2345,
                      "end": 2432,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2349,
                        "end": 2390,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 12
                          },
                          "end": {
                            "line": 59,
                            "column": 53
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2349,
                          "end": 2380,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 12
                            },
                            "end": {
                              "line": 59,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2349,
                            "end": 2375,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 12
                              },
                              "end": {
                                "line": 59,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2349,
                              "end": 2364,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 12
                                },
                                "end": {
                                  "line": 59,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2349,
                                "end": 2355,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 18
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2356,
                                "end": 2364,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 27
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2365,
                              "end": 2375,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 28
                                },
                                "end": {
                                  "line": 59,
                                  "column": 38
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2376,
                            "end": 2380,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 39
                              },
                              "end": {
                                "line": 59,
                                "column": 43
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 2385,
                          "end": 2390,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 48
                            },
                            "end": {
                              "line": 59,
                              "column": 53
                            }
                          },
                          "value": "pos",
                          "rawValue": "pos",
                          "raw": "'pos'"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 2405,
                        "end": 2432,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 12
                          },
                          "end": {
                            "line": 60,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2405,
                          "end": 2431,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 12
                            },
                            "end": {
                              "line": 60,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2405,
                            "end": 2423,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 12
                              },
                              "end": {
                                "line": 60,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2405,
                              "end": 2418,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 60,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2405,
                                "end": 2409,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2410,
                                "end": 2418,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 25
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2419,
                              "end": 2423,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 26
                                },
                                "end": {
                                  "line": 60,
                                  "column": 30
                                }
                              },
                              "name": "copy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2424,
                              "end": 2430,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 31
                                },
                                "end": {
                                  "line": 60,
                                  "column": 37
                                }
                              },
                              "name": "member"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2447,
              "end": 3092,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 4
                },
                "end": {
                  "line": 77,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2447,
                "end": 2471,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 4
                  },
                  "end": {
                    "line": 63,
                    "column": 28
                  }
                },
                "name": "removeSuperfluousMembers"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2471,
                "end": 3092,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 28
                  },
                  "end": {
                    "line": 77,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2474,
                  "end": 3092,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 31
                    },
                    "end": {
                      "line": 77,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2485,
                      "end": 2513,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 36
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2489,
                          "end": 2512,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 12
                            },
                            "end": {
                              "line": 64,
                              "column": 35
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2489,
                            "end": 2507,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 12
                              },
                              "end": {
                                "line": 64,
                                "column": 30
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 2510,
                            "end": 2512,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 33
                              },
                              "end": {
                                "line": 64,
                                "column": 35
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2523,
                      "end": 3049,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2523,
                        "end": 3048,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2523,
                          "end": 2556,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 2523,
                            "end": 2548,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 8
                              },
                              "end": {
                                "line": 65,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2523,
                              "end": 2534,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 8
                                },
                                "end": {
                                  "line": 65,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2523,
                                "end": 2529,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 14
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2530,
                                "end": 2534,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 19
                                  }
                                },
                                "name": "keys"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 2535,
                                "end": 2547,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2535,
                                  "end": 2539,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2540,
                                  "end": 2547,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 32
                                    }
                                  },
                                  "name": "members"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2549,
                            "end": 2556,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 34
                              },
                              "end": {
                                "line": 65,
                                "column": 41
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2557,
                            "end": 3047,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 42
                              },
                              "end": {
                                "line": 75,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2557,
                                "end": 2561,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 46
                                  }
                                },
                                "name": "name"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2565,
                              "end": 3047,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 50
                                },
                                "end": {
                                  "line": 75,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 2580,
                                  "end": 2612,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 44
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 2584,
                                      "end": 2611,
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 43
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 2584,
                                        "end": 2590,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 22
                                          }
                                        },
                                        "name": "member"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 2593,
                                        "end": 2611,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 43
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2593,
                                          "end": 2605,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 37
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2593,
                                            "end": 2597,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2598,
                                            "end": 2605,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 37
                                              }
                                            },
                                            "name": "members"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2606,
                                          "end": 2610,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 42
                                            }
                                          },
                                          "name": "name"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2626,
                                  "end": 2816,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 2630,
                                    "end": 2701,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 87
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2630,
                                      "end": 2656,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2630,
                                        "end": 2645,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2630,
                                          "end": 2636,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 22
                                            }
                                          },
                                          "name": "member"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2637,
                                          "end": 2645,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 31
                                            }
                                          },
                                          "name": "userData"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2646,
                                        "end": 2656,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 42
                                          }
                                        },
                                        "name": "memberInfo"
                                      },
                                      "computed": false
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 2660,
                                      "end": 2701,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 87
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2660,
                                        "end": 2686,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 72
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2660,
                                          "end": 2675,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 61
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2660,
                                            "end": 2666,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 52
                                              }
                                            },
                                            "name": "member"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2667,
                                            "end": 2675,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 61
                                              }
                                            },
                                            "name": "userData"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2676,
                                          "end": 2686,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 72
                                            }
                                          },
                                          "name": "memberInfo"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2687,
                                        "end": 2701,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 87
                                          }
                                        },
                                        "name": "isFreshlyAdded"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 2703,
                                    "end": 2816,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2722,
                                        "end": 2776,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 70
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2722,
                                          "end": 2775,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 69
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2722,
                                            "end": 2763,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 57
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2722,
                                              "end": 2748,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2722,
                                                "end": 2737,
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2722,
                                                  "end": 2728,
                                                  "loc": {
                                                    "start": {
                                                      "line": 68,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 68,
                                                      "column": 22
                                                    }
                                                  },
                                                  "name": "member"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2729,
                                                  "end": 2737,
                                                  "loc": {
                                                    "start": {
                                                      "line": 68,
                                                      "column": 23
                                                    },
                                                    "end": {
                                                      "line": 68,
                                                      "column": 31
                                                    }
                                                  },
                                                  "name": "userData"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2738,
                                                "end": 2748,
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "memberInfo"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2749,
                                              "end": 2763,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 57
                                                }
                                              },
                                              "name": "isFreshlyAdded"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 2766,
                                            "end": 2775,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 69
                                              }
                                            },
                                            "name": "undefined"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "start": 2794,
                                        "end": 2801,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 23
                                          }
                                        },
                                        "argument": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2830,
                                  "end": 2862,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 44
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 2830,
                                    "end": 2861,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 43
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2830,
                                      "end": 2853,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2830,
                                        "end": 2848,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 30
                                          }
                                        },
                                        "name": "superfluousMembers"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2849,
                                        "end": 2853,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 35
                                          }
                                        },
                                        "name": "push"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 2854,
                                        "end": 2860,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 42
                                          }
                                        },
                                        "name": "member"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2876,
                                  "end": 2902,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 38
                                    }
                                  },
                                  "expression": {
                                    "type": "UnaryExpression",
                                    "start": 2876,
                                    "end": 2901,
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 37
                                      }
                                    },
                                    "operator": "delete",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 2883,
                                      "end": 2901,
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2883,
                                        "end": 2895,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2883,
                                          "end": 2887,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2888,
                                          "end": 2895,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 31
                                            }
                                          },
                                          "name": "members"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2896,
                                        "end": 2900,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 36
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "computed": true
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2916,
                                  "end": 3036,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 36
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 2920,
                                    "end": 2997,
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 93
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2920,
                                      "end": 2946,
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2920,
                                        "end": 2935,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2920,
                                          "end": 2926,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 22
                                            }
                                          },
                                          "name": "member"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2927,
                                          "end": 2935,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 31
                                            }
                                          },
                                          "name": "userData"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2936,
                                        "end": 2946,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 42
                                          }
                                        },
                                        "name": "memberInfo"
                                      },
                                      "computed": false
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 2950,
                                      "end": 2997,
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 93
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 2950,
                                        "end": 2981,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 77
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2950,
                                          "end": 2976,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 72
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2950,
                                            "end": 2965,
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 61
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2950,
                                              "end": 2956,
                                              "loc": {
                                                "start": {
                                                  "line": 73,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 73,
                                                  "column": 52
                                                }
                                              },
                                              "name": "member"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2957,
                                              "end": 2965,
                                              "loc": {
                                                "start": {
                                                  "line": 73,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 73,
                                                  "column": 61
                                                }
                                              },
                                              "name": "userData"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2966,
                                            "end": 2976,
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 72
                                              }
                                            },
                                            "name": "memberInfo"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2977,
                                          "end": 2981,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 77
                                            }
                                          },
                                          "name": "type"
                                        },
                                        "computed": false
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "Literal",
                                        "start": 2986,
                                        "end": 2997,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 82
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 93
                                          }
                                        },
                                        "value": "objectMem",
                                        "rawValue": "objectMem",
                                        "raw": "'objectMem'"
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 3016,
                                    "end": 3036,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 36
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 3016,
                                      "end": 3035,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 35
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 3016,
                                        "end": 3027,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 3016,
                                          "end": 3020,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3021,
                                          "end": 3027,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 27
                                            }
                                          },
                                          "name": "remove"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 3028,
                                          "end": 3034,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 34
                                            }
                                          },
                                          "name": "member"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 3059,
                      "end": 3085,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 3066,
                        "end": 3084,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 15
                          },
                          "end": {
                            "line": 76,
                            "column": 33
                          }
                        },
                        "name": "superfluousMembers"
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\r\n * Base class for all objects having corresponding object on the server.\r\n * It is the default class for creating objects when parsing object tree.\r\n * To provide more specialized client class for corresponding server class use classMapping:\r\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\r\n ",
            "start": 147,
            "end": 463,
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 3
              }
            },
            "range": [
              147,
              463
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\r\n * Base class for all objects having corresponding object on the server.\r\n * It is the default class for creating objects when parsing object tree.\r\n * To provide more specialized client class for corresponding server class use classMapping:\r\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\r\n ",
          "start": 147,
          "end": 463,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "range": [
            147,
            463
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 3099,
      "end": 3149,
      "loc": {
        "start": {
          "line": 80,
          "column": 0
        },
        "end": {
          "line": 80,
          "column": 50
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 3099,
        "end": 3148,
        "loc": {
          "start": {
            "line": 80,
            "column": 0
          },
          "end": {
            "line": 80,
            "column": 49
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 3099,
          "end": 3126,
          "loc": {
            "start": {
              "line": 80,
              "column": 0
            },
            "end": {
              "line": 80,
              "column": 27
            }
          },
          "object": {
            "type": "Identifier",
            "start": 3099,
            "end": 3113,
            "loc": {
              "start": {
                "line": 80,
                "column": 0
              },
              "end": {
                "line": 80,
                "column": 14
              }
            },
            "name": "ClassCadObject"
          },
          "property": {
            "type": "Identifier",
            "start": 3114,
            "end": 3126,
            "loc": {
              "start": {
                "line": 80,
                "column": 15
              },
              "end": {
                "line": 80,
                "column": 27
              }
            },
            "name": "classMapping"
          },
          "computed": false
        },
        "right": {
          "type": "CallExpression",
          "start": 3129,
          "end": 3148,
          "loc": {
            "start": {
              "line": 80,
              "column": 30
            },
            "end": {
              "line": 80,
              "column": 49
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 3129,
            "end": 3142,
            "loc": {
              "start": {
                "line": 80,
                "column": 30
              },
              "end": {
                "line": 80,
                "column": 43
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3129,
              "end": 3135,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 30
                },
                "end": {
                  "line": 80,
                  "column": 36
                }
              },
              "name": "Object"
            },
            "property": {
              "type": "Identifier",
              "start": 3136,
              "end": 3142,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 37
                },
                "end": {
                  "line": 80,
                  "column": 43
                }
              },
              "name": "create"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Literal",
              "start": 3143,
              "end": 3147,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 44
                },
                "end": {
                  "line": 80,
                  "column": 48
                }
              },
              "value": null,
              "rawValue": null,
              "raw": "null"
            }
          ]
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\r\n * Class for _O object, root of the object hiearchy.\r\n ",
          "start": 3153,
          "end": 3214,
          "loc": {
            "start": {
              "line": 82,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 3
            }
          },
          "range": [
            3153,
            3214
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 3216,
      "end": 3718,
      "loc": {
        "start": {
          "line": 85,
          "column": 0
        },
        "end": {
          "line": 100,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 3223,
        "end": 3718,
        "loc": {
          "start": {
            "line": 85,
            "column": 7
          },
          "end": {
            "line": 100,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3229,
          "end": 3239,
          "loc": {
            "start": {
              "line": 85,
              "column": 13
            },
            "end": {
              "line": 85,
              "column": 23
            }
          },
          "name": "RootObject",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 3248,
          "end": 3262,
          "loc": {
            "start": {
              "line": 85,
              "column": 32
            },
            "end": {
              "line": 85,
              "column": 46
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 3263,
          "end": 3718,
          "loc": {
            "start": {
              "line": 85,
              "column": 47
            },
            "end": {
              "line": 100,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 3270,
              "end": 3337,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 4
                },
                "end": {
                  "line": 89,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3270,
                "end": 3281,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 4
                  },
                  "end": {
                    "line": 86,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 3281,
                "end": 3337,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 15
                  },
                  "end": {
                    "line": 89,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3284,
                  "end": 3337,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 18
                    },
                    "end": {
                      "line": 89,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3295,
                      "end": 3303,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 8
                        },
                        "end": {
                          "line": 87,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3295,
                        "end": 3302,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 8
                          },
                          "end": {
                            "line": 87,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 3295,
                          "end": 3300,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 8
                            },
                            "end": {
                              "line": 87,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3313,
                      "end": 3330,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 8
                        },
                        "end": {
                          "line": 88,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3313,
                        "end": 3329,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 8
                          },
                          "end": {
                            "line": 88,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3313,
                          "end": 3322,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 8
                            },
                            "end": {
                              "line": 88,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3313,
                            "end": 3317,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 8
                              },
                              "end": {
                                "line": 88,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3318,
                            "end": 3322,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 13
                              },
                              "end": {
                                "line": 88,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3325,
                          "end": 3329,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 20
                            },
                            "end": {
                              "line": 88,
                              "column": 24
                            }
                          },
                          "value": "_O",
                          "rawValue": "_O",
                          "raw": "'_O'"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 3345,
              "end": 3466,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 4
                },
                "end": {
                  "line": 93,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3345,
                "end": 3361,
                "loc": {
                  "start": {
                    "line": 91,
                    "column": 4
                  },
                  "end": {
                    "line": 91,
                    "column": 20
                  }
                },
                "name": "updateFromServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3361,
                "end": 3466,
                "loc": {
                  "start": {
                    "line": 91,
                    "column": 20
                  },
                  "end": {
                    "line": 93,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3364,
                  "end": 3466,
                  "loc": {
                    "start": {
                      "line": 91,
                      "column": 23
                    },
                    "end": {
                      "line": 93,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 3375,
                      "end": 3459,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 8
                        },
                        "end": {
                          "line": 92,
                          "column": 92
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 3382,
                        "end": 3458,
                        "loc": {
                          "start": {
                            "line": 92,
                            "column": 15
                          },
                          "end": {
                            "line": 92,
                            "column": 91
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3382,
                          "end": 3413,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 15
                            },
                            "end": {
                              "line": 92,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 3382,
                            "end": 3408,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 15
                              },
                              "end": {
                                "line": 92,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3382,
                              "end": 3402,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 15
                                },
                                "end": {
                                  "line": 92,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3382,
                                "end": 3391,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 24
                                  }
                                },
                                "name": "Statement"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3392,
                                "end": 3402,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 35
                                  }
                                },
                                "name": "JSONExport"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 3403,
                                "end": 3407,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 40
                                  }
                                }
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3409,
                            "end": 3413,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 42
                              },
                              "end": {
                                "line": 92,
                                "column": 46
                              }
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 3414,
                            "end": 3457,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 47
                              },
                              "end": {
                                "line": 92,
                                "column": 90
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 3414,
                                "end": 3418,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 51
                                  }
                                },
                                "name": "tree"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 3422,
                              "end": 3457,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 55
                                },
                                "end": {
                                  "line": 92,
                                  "column": 90
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3422,
                                "end": 3442,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3422,
                                  "end": 3437,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 70
                                    }
                                  },
                                  "name": "parseObjectTree"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3438,
                                  "end": 3442,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 71
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 75
                                    }
                                  },
                                  "name": "call"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "start": 3443,
                                  "end": 3447,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 80
                                    }
                                  }
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 3449,
                                  "end": 3456,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 82
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 89
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3449,
                                    "end": 3453,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 82
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 86
                                      }
                                    },
                                    "name": "tree"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 3454,
                                    "end": 3455,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 87
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 88
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 3474,
              "end": 3715,
              "loc": {
                "start": {
                  "line": 95,
                  "column": 4
                },
                "end": {
                  "line": 99,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3474,
                "end": 3491,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 4
                  },
                  "end": {
                    "line": 95,
                    "column": 21
                  }
                },
                "name": "setFromObjectTree"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3491,
                "end": 3715,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 21
                  },
                  "end": {
                    "line": 99,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3492,
                    "end": 3506,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 22
                      },
                      "end": {
                        "line": 95,
                        "column": 36
                      }
                    },
                    "name": "objectTreeNode"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3508,
                  "end": 3715,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 38
                    },
                    "end": {
                      "line": 99,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3519,
                      "end": 3589,
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 8
                        },
                        "end": {
                          "line": 96,
                          "column": 78
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3519,
                        "end": 3588,
                        "loc": {
                          "start": {
                            "line": 96,
                            "column": 8
                          },
                          "end": {
                            "line": 96,
                            "column": 77
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3519,
                          "end": 3566,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 8
                            },
                            "end": {
                              "line": 96,
                              "column": 55
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3519,
                            "end": 3561,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 8
                              },
                              "end": {
                                "line": 96,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3519,
                              "end": 3543,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 8
                                },
                                "end": {
                                  "line": 96,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3519,
                                "end": 3533,
                                "loc": {
                                  "start": {
                                    "line": 96,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3534,
                                "end": 3543,
                                "loc": {
                                  "start": {
                                    "line": 96,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3544,
                              "end": 3561,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 33
                                },
                                "end": {
                                  "line": 96,
                                  "column": 50
                                }
                              },
                              "name": "setFromObjectTree"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3562,
                            "end": 3566,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 51
                              },
                              "end": {
                                "line": 96,
                                "column": 55
                              }
                            },
                            "name": "call"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 3567,
                            "end": 3571,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 56
                              },
                              "end": {
                                "line": 96,
                                "column": 60
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 3573,
                            "end": 3587,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 62
                              },
                              "end": {
                                "line": 96,
                                "column": 76
                              }
                            },
                            "name": "objectTreeNode"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " object tree has these properties on _O set to nonsensible values ('AllObjects')",
                          "start": 3599,
                          "end": 3681,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 8
                            },
                            "end": {
                              "line": 97,
                              "column": 90
                            }
                          },
                          "range": [
                            3599,
                            3681
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3691,
                      "end": 3708,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 8
                        },
                        "end": {
                          "line": 98,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3691,
                        "end": 3707,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 8
                          },
                          "end": {
                            "line": 98,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3691,
                          "end": 3700,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 8
                            },
                            "end": {
                              "line": 98,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3691,
                            "end": 3695,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 8
                              },
                              "end": {
                                "line": 98,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3696,
                            "end": 3700,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 13
                              },
                              "end": {
                                "line": 98,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3703,
                          "end": 3707,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 20
                            },
                            "end": {
                              "line": 98,
                              "column": 24
                            }
                          },
                          "value": "_O",
                          "rawValue": "_O",
                          "raw": "'_O'"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " object tree has these properties on _O set to nonsensible values ('AllObjects')",
                          "start": 3599,
                          "end": 3681,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 8
                            },
                            "end": {
                              "line": 97,
                              "column": 90
                            }
                          },
                          "range": [
                            3599,
                            3681
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\r\n * Class for _O object, root of the object hiearchy.\r\n ",
            "start": 3153,
            "end": 3214,
            "loc": {
              "start": {
                "line": 82,
                "column": 0
              },
              "end": {
                "line": 84,
                "column": 3
              }
            },
            "range": [
              3153,
              3214
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\r\n * Class for _O object, root of the object hiearchy.\r\n ",
          "start": 3153,
          "end": 3214,
          "loc": {
            "start": {
              "line": 82,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 3
            }
          },
          "range": [
            3153,
            3214
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 3722,
      "end": 3777,
      "loc": {
        "start": {
          "line": 102,
          "column": 0
        },
        "end": {
          "line": 102,
          "column": 55
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 3722,
        "end": 3776,
        "loc": {
          "start": {
            "line": 102,
            "column": 0
          },
          "end": {
            "line": 102,
            "column": 54
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 3722,
          "end": 3763,
          "loc": {
            "start": {
              "line": 102,
              "column": 0
            },
            "end": {
              "line": 102,
              "column": 41
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 3722,
            "end": 3749,
            "loc": {
              "start": {
                "line": 102,
                "column": 0
              },
              "end": {
                "line": 102,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3722,
              "end": 3736,
              "loc": {
                "start": {
                  "line": 102,
                  "column": 0
                },
                "end": {
                  "line": 102,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 3737,
              "end": 3749,
              "loc": {
                "start": {
                  "line": 102,
                  "column": 15
                },
                "end": {
                  "line": 102,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 3750,
            "end": 3762,
            "loc": {
              "start": {
                "line": 102,
                "column": 28
              },
              "end": {
                "line": 102,
                "column": 40
              }
            },
            "value": "AllObjects",
            "rawValue": "AllObjects",
            "raw": "'AllObjects'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 3766,
          "end": 3776,
          "loc": {
            "start": {
              "line": 102,
              "column": 44
            },
            "end": {
              "line": 102,
              "column": 54
            }
          },
          "name": "RootObject"
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\r\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\r\n ",
          "start": 3781,
          "end": 3881,
          "loc": {
            "start": {
              "line": 104,
              "column": 0
            },
            "end": {
              "line": 106,
              "column": 3
            }
          },
          "range": [
            3781,
            3881
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 3883,
      "end": 5366,
      "loc": {
        "start": {
          "line": 107,
          "column": 0
        },
        "end": {
          "line": 147,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 3890,
        "end": 5366,
        "loc": {
          "start": {
            "line": 107,
            "column": 7
          },
          "end": {
            "line": 147,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3896,
          "end": 3900,
          "loc": {
            "start": {
              "line": 107,
              "column": 13
            },
            "end": {
              "line": 107,
              "column": 17
            }
          },
          "name": "Part",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 3909,
          "end": 3923,
          "loc": {
            "start": {
              "line": 107,
              "column": 26
            },
            "end": {
              "line": 107,
              "column": 40
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 3924,
          "end": 5366,
          "loc": {
            "start": {
              "line": 107,
              "column": 41
            },
            "end": {
              "line": 147,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 3931,
              "end": 4003,
              "loc": {
                "start": {
                  "line": 108,
                  "column": 4
                },
                "end": {
                  "line": 111,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3931,
                "end": 3942,
                "loc": {
                  "start": {
                    "line": 108,
                    "column": 4
                  },
                  "end": {
                    "line": 108,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 3942,
                "end": 4003,
                "loc": {
                  "start": {
                    "line": 108,
                    "column": 15
                  },
                  "end": {
                    "line": 111,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3945,
                  "end": 4003,
                  "loc": {
                    "start": {
                      "line": 108,
                      "column": 18
                    },
                    "end": {
                      "line": 111,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3956,
                      "end": 3964,
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 8
                        },
                        "end": {
                          "line": 109,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3956,
                        "end": 3963,
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 8
                          },
                          "end": {
                            "line": 109,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 3956,
                          "end": 3961,
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 8
                            },
                            "end": {
                              "line": 109,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3974,
                      "end": 3996,
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 8
                        },
                        "end": {
                          "line": 110,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3974,
                        "end": 3995,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 8
                          },
                          "end": {
                            "line": 110,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3974,
                          "end": 3983,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 8
                            },
                            "end": {
                              "line": 110,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3974,
                            "end": 3978,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 8
                              },
                              "end": {
                                "line": 110,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3979,
                            "end": 3983,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 13
                              },
                              "end": {
                                "line": 110,
                                "column": 17
                              }
                            },
                            "name": "item"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 3986,
                          "end": 3995,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 20
                            },
                            "end": {
                              "line": 110,
                              "column": 29
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4011,
              "end": 4474,
              "loc": {
                "start": {
                  "line": 113,
                  "column": 4
                },
                "end": {
                  "line": 123,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4011,
                "end": 4027,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 4
                  },
                  "end": {
                    "line": 113,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4027,
                "end": 4474,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 20
                  },
                  "end": {
                    "line": 123,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4030,
                  "end": 4474,
                  "loc": {
                    "start": {
                      "line": 113,
                      "column": 23
                    },
                    "end": {
                      "line": 123,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4041,
                      "end": 4094,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4041,
                        "end": 4093,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 8
                          },
                          "end": {
                            "line": 114,
                            "column": 60
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4041,
                          "end": 4087,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4041,
                            "end": 4082,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 8
                              },
                              "end": {
                                "line": 114,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4041,
                              "end": 4065,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 8
                                },
                                "end": {
                                  "line": 114,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4041,
                                "end": 4055,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4056,
                                "end": 4065,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4066,
                              "end": 4082,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 33
                                },
                                "end": {
                                  "line": 114,
                                  "column": 49
                                }
                              },
                              "name": "finishedUpdating"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4083,
                            "end": 4087,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 50
                              },
                              "end": {
                                "line": 114,
                                "column": 54
                              }
                            },
                            "name": "call"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 4088,
                            "end": 4092,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 55
                              },
                              "end": {
                                "line": 114,
                                "column": 59
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 4104,
                      "end": 4441,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 8
                        },
                        "end": {
                          "line": 121,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4108,
                        "end": 4140,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 12
                          },
                          "end": {
                            "line": 115,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4108,
                          "end": 4117,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 12
                            },
                            "end": {
                              "line": 115,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4108,
                            "end": 4112,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 12
                              },
                              "end": {
                                "line": 115,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4113,
                            "end": 4117,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 17
                              },
                              "end": {
                                "line": 115,
                                "column": 21
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 4122,
                          "end": 4140,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 26
                            },
                            "end": {
                              "line": 115,
                              "column": 44
                            }
                          },
                          "value": "CC_PartReference",
                          "rawValue": "CC_PartReference",
                          "raw": "'CC_PartReference'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4142,
                        "end": 4441,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 46
                          },
                          "end": {
                            "line": 121,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 4228,
                            "end": 4259,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 12
                              },
                              "end": {
                                "line": 117,
                                "column": 43
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4232,
                                "end": 4258,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 42
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 4232,
                                  "end": 4236,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 20
                                    }
                                  },
                                  "name": "part",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 4239,
                                  "end": 4258,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4239,
                                    "end": 4251,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4239,
                                      "end": 4243,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4244,
                                      "end": 4251,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 35
                                        }
                                      },
                                      "name": "members"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4252,
                                    "end": 4258,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 42
                                      }
                                    },
                                    "name": "partId"
                                  },
                                  "computed": false
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Place CC_Part at the same position as CC_PartReference",
                                "start": 4157,
                                "end": 4214,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 69
                                  }
                                },
                                "range": [
                                  4157,
                                  4214
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4273,
                            "end": 4313,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 12
                              },
                              "end": {
                                "line": 118,
                                "column": 52
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4273,
                              "end": 4312,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 12
                                },
                                "end": {
                                  "line": 118,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4273,
                                "end": 4294,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4273,
                                  "end": 4289,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4273,
                                    "end": 4277,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 16
                                      }
                                    },
                                    "name": "part"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4278,
                                    "end": 4289,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 28
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4290,
                                  "end": 4294,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 33
                                    }
                                  },
                                  "name": "copy"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 4295,
                                  "end": 4311,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4295,
                                    "end": 4299,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4300,
                                    "end": 4311,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 50
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4327,
                            "end": 4362,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 12
                              },
                              "end": {
                                "line": 119,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4327,
                              "end": 4361,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 12
                                },
                                "end": {
                                  "line": 119,
                                  "column": 46
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4327,
                                "end": 4359,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4327,
                                  "end": 4331,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 16
                                    }
                                  },
                                  "name": "part"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4332,
                                  "end": 4359,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 44
                                    }
                                  },
                                  "name": "updateMatrixFromMatrixWorld"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4376,
                            "end": 4430,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 12
                              },
                              "end": {
                                "line": 120,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4376,
                              "end": 4429,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 12
                                },
                                "end": {
                                  "line": 120,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4376,
                                "end": 4397,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4376,
                                  "end": 4389,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4376,
                                    "end": 4380,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 16
                                      }
                                    },
                                    "name": "part"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4381,
                                    "end": 4389,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 25
                                      }
                                    },
                                    "name": "children"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4390,
                                  "end": 4397,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 33
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 4398,
                                  "end": 4428,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 64
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 4398,
                                      "end": 4399,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 35
                                        }
                                      },
                                      "name": "c"
                                    }
                                  ],
                                  "body": {
                                    "type": "CallExpression",
                                    "start": 4403,
                                    "end": 4428,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 64
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4403,
                                      "end": 4422,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 58
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4403,
                                        "end": 4404,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 40
                                          }
                                        },
                                        "name": "c"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4405,
                                        "end": 4422,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 58
                                          }
                                        },
                                        "name": "updateMatrixWorld"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 4423,
                                        "end": 4427,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 63
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4451,
                      "end": 4467,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4451,
                        "end": 4466,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4451,
                          "end": 4464,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 8
                            },
                            "end": {
                              "line": 122,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4451,
                            "end": 4455,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 8
                              },
                              "end": {
                                "line": 122,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4456,
                            "end": 4464,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 13
                              },
                              "end": {
                                "line": 122,
                                "column": 21
                              }
                            },
                            "name": "addItems"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4482,
              "end": 5363,
              "loc": {
                "start": {
                  "line": 125,
                  "column": 4
                },
                "end": {
                  "line": 146,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4482,
                "end": 4490,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 4
                  },
                  "end": {
                    "line": 125,
                    "column": 12
                  }
                },
                "name": "addItems"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4490,
                "end": 5363,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 12
                  },
                  "end": {
                    "line": 146,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4493,
                  "end": 5363,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 15
                    },
                    "end": {
                      "line": 146,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 4601,
                      "end": 4647,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 8
                        },
                        "end": {
                          "line": 127,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4605,
                          "end": 4646,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 12
                            },
                            "end": {
                              "line": 127,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4605,
                            "end": 4612,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 12
                              },
                              "end": {
                                "line": 127,
                                "column": 19
                              }
                            },
                            "name": "newItem",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 4615,
                            "end": 4646,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 22
                              },
                              "end": {
                                "line": 127,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4615,
                              "end": 4631,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 22
                                },
                                "end": {
                                  "line": 127,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4615,
                                "end": 4619,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 26
                                  }
                                },
                                "name": "Part"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4620,
                                "end": 4631,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 38
                                  }
                                },
                                "name": "globalItems"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "MemberExpression",
                              "start": 4632,
                              "end": 4645,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 39
                                },
                                "end": {
                                  "line": 127,
                                  "column": 52
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4632,
                                "end": 4636,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 43
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4637,
                                "end": 4645,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 52
                                  }
                                },
                                "name": "fullName"
                              },
                              "computed": false
                            },
                            "computed": true
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " FIXME unfortunately needs access to globalItems. See replaceItem comment in index.js",
                          "start": 4504,
                          "end": 4591,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 95
                            }
                          },
                          "range": [
                            4504,
                            4591
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 4657,
                      "end": 4842,
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 8
                        },
                        "end": {
                          "line": 132,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4661,
                        "end": 4693,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 12
                          },
                          "end": {
                            "line": 128,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4661,
                          "end": 4670,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 12
                            },
                            "end": {
                              "line": 128,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4661,
                            "end": 4665,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 12
                              },
                              "end": {
                                "line": 128,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4666,
                            "end": 4670,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 17
                              },
                              "end": {
                                "line": 128,
                                "column": 21
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 4675,
                          "end": 4693,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 26
                            },
                            "end": {
                              "line": 128,
                              "column": 44
                            }
                          },
                          "value": "CC_PartReference",
                          "rawValue": "CC_PartReference",
                          "raw": "'CC_PartReference'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4695,
                        "end": 4842,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 46
                          },
                          "end": {
                            "line": 132,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 4710,
                            "end": 4740,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 12
                              },
                              "end": {
                                "line": 129,
                                "column": 42
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4714,
                                "end": 4739,
                                "loc": {
                                  "start": {
                                    "line": 129,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 129,
                                    "column": 41
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 4714,
                                  "end": 4717,
                                  "loc": {
                                    "start": {
                                      "line": 129,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 129,
                                      "column": 19
                                    }
                                  },
                                  "name": "ref"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 4720,
                                  "end": 4739,
                                  "loc": {
                                    "start": {
                                      "line": 129,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 129,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4720,
                                    "end": 4732,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4720,
                                      "end": 4724,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4725,
                                      "end": 4732,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 34
                                        }
                                      },
                                      "name": "members"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4733,
                                    "end": 4739,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 41
                                      }
                                    },
                                    "name": "partId"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4754,
                            "end": 4795,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 53
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4754,
                              "end": 4794,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 12
                                },
                                "end": {
                                  "line": 130,
                                  "column": 52
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4754,
                                "end": 4784,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4754,
                                  "end": 4770,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4754,
                                    "end": 4758,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 16
                                      }
                                    },
                                    "name": "Part"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4759,
                                    "end": 4770,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 28
                                      }
                                    },
                                    "name": "globalItems"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "MemberExpression",
                                  "start": 4771,
                                  "end": 4783,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4771,
                                    "end": 4774,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 32
                                      }
                                    },
                                    "name": "ref"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4775,
                                    "end": 4783,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 41
                                      }
                                    },
                                    "name": "fullName"
                                  },
                                  "computed": false
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 4787,
                                "end": 4794,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 52
                                  }
                                },
                                "name": "newItem"
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 4809,
                            "end": 4831,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 12
                              },
                              "end": {
                                "line": 131,
                                "column": 34
                              }
                            },
                            "argument": {
                              "type": "CallExpression",
                              "start": 4816,
                              "end": 4830,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 19
                                },
                                "end": {
                                  "line": 131,
                                  "column": 33
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4816,
                                "end": 4828,
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4816,
                                  "end": 4819,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 22
                                    }
                                  },
                                  "name": "ref"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4820,
                                  "end": 4828,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 31
                                    }
                                  },
                                  "name": "addItems"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 4852,
                      "end": 4899,
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 8
                        },
                        "end": {
                          "line": 134,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4856,
                        "end": 4877,
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 12
                          },
                          "end": {
                            "line": 133,
                            "column": 33
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4856,
                          "end": 4865,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 12
                            },
                            "end": {
                              "line": 133,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4856,
                            "end": 4860,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 12
                              },
                              "end": {
                                "line": 133,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4861,
                            "end": 4865,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 17
                              },
                              "end": {
                                "line": 133,
                                "column": 21
                              }
                            },
                            "name": "item"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 4870,
                          "end": 4877,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 26
                            },
                            "end": {
                              "line": 133,
                              "column": 33
                            }
                          },
                          "name": "newItem"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 4892,
                        "end": 4899,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 12
                          },
                          "end": {
                            "line": 134,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 4909,
                      "end": 5063,
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 4913,
                        "end": 4922,
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 12
                          },
                          "end": {
                            "line": 135,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 4913,
                          "end": 4917,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 12
                            },
                            "end": {
                              "line": 135,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4918,
                          "end": 4922,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 17
                            },
                            "end": {
                              "line": 135,
                              "column": 21
                            }
                          },
                          "name": "item"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4924,
                        "end": 5063,
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 23
                          },
                          "end": {
                            "line": 139,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4939,
                            "end": 4962,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 12
                              },
                              "end": {
                                "line": 136,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4939,
                              "end": 4961,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 12
                                },
                                "end": {
                                  "line": 136,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4939,
                                "end": 4950,
                                "loc": {
                                  "start": {
                                    "line": 136,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4939,
                                  "end": 4943,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4944,
                                  "end": 4950,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 23
                                    }
                                  },
                                  "name": "remove"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 4951,
                                  "end": 4960,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4951,
                                    "end": 4955,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4956,
                                    "end": 4960,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 33
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4976,
                            "end": 5016,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 12
                              },
                              "end": {
                                "line": 137,
                                "column": 52
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4976,
                              "end": 5015,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 12
                                },
                                "end": {
                                  "line": 137,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4976,
                                "end": 4997,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4976,
                                  "end": 4985,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 21
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4976,
                                    "end": 4980,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4981,
                                    "end": 4985,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 21
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4986,
                                  "end": 4997,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 33
                                    }
                                  },
                                  "name": "applyMatrix"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 4998,
                                  "end": 5014,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4998,
                                    "end": 5002,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5003,
                                    "end": 5014,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 50
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 5030,
                            "end": 5052,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 12
                              },
                              "end": {
                                "line": 138,
                                "column": 34
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 5030,
                              "end": 5051,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 12
                                },
                                "end": {
                                  "line": 138,
                                  "column": 33
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 5030,
                                "end": 5039,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5030,
                                  "end": 5034,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5035,
                                  "end": 5039,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 21
                                    }
                                  },
                                  "name": "item"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 5042,
                                "end": 5051,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 33
                                  }
                                },
                                "name": "undefined"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 5073,
                      "end": 5356,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 8
                        },
                        "end": {
                          "line": 145,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 5077,
                        "end": 5084,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 12
                          },
                          "end": {
                            "line": 140,
                            "column": 19
                          }
                        },
                        "name": "newItem"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5086,
                        "end": 5356,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 21
                          },
                          "end": {
                            "line": 145,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 5101,
                            "end": 5121,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 12
                              },
                              "end": {
                                "line": 141,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 5101,
                              "end": 5120,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 12
                                },
                                "end": {
                                  "line": 141,
                                  "column": 31
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 5101,
                                "end": 5110,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5101,
                                  "end": 5105,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5106,
                                  "end": 5110,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 21
                                    }
                                  },
                                  "name": "item"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 5113,
                                "end": 5120,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 31
                                  }
                                },
                                "name": "newItem"
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Item's geometry is in global coordinates. So transform item coordinates world-to-local.",
                                "start": 5135,
                                "end": 5225,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 102
                                  }
                                },
                                "range": [
                                  5135,
                                  5225
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 5239,
                            "end": 5311,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 12
                              },
                              "end": {
                                "line": 143,
                                "column": 84
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 5239,
                              "end": 5310,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 12
                                },
                                "end": {
                                  "line": 143,
                                  "column": 83
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5239,
                                "end": 5260,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5239,
                                  "end": 5248,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 21
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5239,
                                    "end": 5243,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5244,
                                    "end": 5248,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 21
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5249,
                                  "end": 5260,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 33
                                    }
                                  },
                                  "name": "applyMatrix"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 5261,
                                  "end": 5309,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 82
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 5261,
                                    "end": 5291,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 64
                                      }
                                    },
                                    "object": {
                                      "type": "NewExpression",
                                      "start": 5261,
                                      "end": 5280,
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 53
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 5265,
                                        "end": 5278,
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 5265,
                                          "end": 5270,
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 43
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5271,
                                          "end": 5278,
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 51
                                            }
                                          },
                                          "name": "Matrix4"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5281,
                                      "end": 5291,
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 64
                                        }
                                      },
                                      "name": "getInverse"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 5292,
                                      "end": 5308,
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 81
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5292,
                                        "end": 5296,
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 69
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5297,
                                        "end": 5308,
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 81
                                          }
                                        },
                                        "name": "matrixWorld"
                                      },
                                      "computed": false
                                    }
                                  ]
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Item's geometry is in global coordinates. So transform item coordinates world-to-local.",
                                "start": 5135,
                                "end": 5225,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 102
                                  }
                                },
                                "range": [
                                  5135,
                                  5225
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 5325,
                            "end": 5345,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 12
                              },
                              "end": {
                                "line": 144,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 5325,
                              "end": 5344,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 12
                                },
                                "end": {
                                  "line": 144,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5325,
                                "end": 5333,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5325,
                                  "end": 5329,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5330,
                                  "end": 5333,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 20
                                    }
                                  },
                                  "name": "add"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 5334,
                                  "end": 5343,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5334,
                                    "end": 5338,
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5339,
                                    "end": 5343,
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 30
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\r\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\r\n ",
            "start": 3781,
            "end": 3881,
            "loc": {
              "start": {
                "line": 104,
                "column": 0
              },
              "end": {
                "line": 106,
                "column": 3
              }
            },
            "range": [
              3781,
              3881
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\r\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\r\n ",
          "start": 3781,
          "end": 3881,
          "loc": {
            "start": {
              "line": 104,
              "column": 0
            },
            "end": {
              "line": 106,
              "column": 3
            }
          },
          "range": [
            3781,
            3881
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 5370,
      "end": 5416,
      "loc": {
        "start": {
          "line": 149,
          "column": 0
        },
        "end": {
          "line": 149,
          "column": 46
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5370,
        "end": 5415,
        "loc": {
          "start": {
            "line": 149,
            "column": 0
          },
          "end": {
            "line": 149,
            "column": 45
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5370,
          "end": 5408,
          "loc": {
            "start": {
              "line": 149,
              "column": 0
            },
            "end": {
              "line": 149,
              "column": 38
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5370,
            "end": 5397,
            "loc": {
              "start": {
                "line": 149,
                "column": 0
              },
              "end": {
                "line": 149,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5370,
              "end": 5384,
              "loc": {
                "start": {
                  "line": 149,
                  "column": 0
                },
                "end": {
                  "line": 149,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5385,
              "end": 5397,
              "loc": {
                "start": {
                  "line": 149,
                  "column": 15
                },
                "end": {
                  "line": 149,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5398,
            "end": 5407,
            "loc": {
              "start": {
                "line": 149,
                "column": 28
              },
              "end": {
                "line": 149,
                "column": 37
              }
            },
            "value": "CC_Part",
            "rawValue": "CC_Part",
            "raw": "'CC_Part'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 5411,
          "end": 5415,
          "loc": {
            "start": {
              "line": 149,
              "column": 41
            },
            "end": {
              "line": 149,
              "column": 45
            }
          },
          "name": "Part"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 5418,
      "end": 5473,
      "loc": {
        "start": {
          "line": 150,
          "column": 0
        },
        "end": {
          "line": 150,
          "column": 55
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5418,
        "end": 5472,
        "loc": {
          "start": {
            "line": 150,
            "column": 0
          },
          "end": {
            "line": 150,
            "column": 54
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5418,
          "end": 5465,
          "loc": {
            "start": {
              "line": 150,
              "column": 0
            },
            "end": {
              "line": 150,
              "column": 47
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5418,
            "end": 5445,
            "loc": {
              "start": {
                "line": 150,
                "column": 0
              },
              "end": {
                "line": 150,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5418,
              "end": 5432,
              "loc": {
                "start": {
                  "line": 150,
                  "column": 0
                },
                "end": {
                  "line": 150,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5433,
              "end": 5445,
              "loc": {
                "start": {
                  "line": 150,
                  "column": 15
                },
                "end": {
                  "line": 150,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5446,
            "end": 5464,
            "loc": {
              "start": {
                "line": 150,
                "column": 28
              },
              "end": {
                "line": 150,
                "column": 46
              }
            },
            "value": "CC_PartReference",
            "rawValue": "CC_PartReference",
            "raw": "'CC_PartReference'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 5468,
          "end": 5472,
          "loc": {
            "start": {
              "line": 150,
              "column": 50
            },
            "end": {
              "line": 150,
              "column": 54
            }
          },
          "name": "Part"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 5475,
      "end": 5522,
      "loc": {
        "start": {
          "line": 151,
          "column": 0
        },
        "end": {
          "line": 151,
          "column": 47
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5475,
        "end": 5521,
        "loc": {
          "start": {
            "line": 151,
            "column": 0
          },
          "end": {
            "line": 151,
            "column": 46
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5475,
          "end": 5514,
          "loc": {
            "start": {
              "line": 151,
              "column": 0
            },
            "end": {
              "line": 151,
              "column": 39
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5475,
            "end": 5502,
            "loc": {
              "start": {
                "line": 151,
                "column": 0
              },
              "end": {
                "line": 151,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5475,
              "end": 5489,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 0
                },
                "end": {
                  "line": 151,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5490,
              "end": 5502,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 15
                },
                "end": {
                  "line": 151,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5503,
            "end": 5513,
            "loc": {
              "start": {
                "line": 151,
                "column": 28
              },
              "end": {
                "line": 151,
                "column": 38
              }
            },
            "value": "CC_Solid",
            "rawValue": "CC_Solid",
            "raw": "'CC_Solid'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 5517,
          "end": 5521,
          "loc": {
            "start": {
              "line": 151,
              "column": 42
            },
            "end": {
              "line": 151,
              "column": 46
            }
          },
          "name": "Part"
        }
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " Class for CC_ExpressionSet. Updates data during updates from the server.",
          "start": 5526,
          "end": 5601,
          "loc": {
            "start": {
              "line": 153,
              "column": 0
            },
            "end": {
              "line": 153,
              "column": 75
            }
          },
          "range": [
            5526,
            5601
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 5603,
      "end": 6704,
      "loc": {
        "start": {
          "line": 154,
          "column": 0
        },
        "end": {
          "line": 182,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 5610,
        "end": 6704,
        "loc": {
          "start": {
            "line": 154,
            "column": 7
          },
          "end": {
            "line": 182,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 5616,
          "end": 5629,
          "loc": {
            "start": {
              "line": 154,
              "column": 13
            },
            "end": {
              "line": 154,
              "column": 26
            }
          },
          "name": "ExpressionSet",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 5638,
          "end": 5652,
          "loc": {
            "start": {
              "line": 154,
              "column": 35
            },
            "end": {
              "line": 154,
              "column": 49
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 5653,
          "end": 6704,
          "loc": {
            "start": {
              "line": 154,
              "column": 50
            },
            "end": {
              "line": 182,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 5660,
              "end": 5793,
              "loc": {
                "start": {
                  "line": 155,
                  "column": 4
                },
                "end": {
                  "line": 159,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5660,
                "end": 5671,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 4
                  },
                  "end": {
                    "line": 155,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 5671,
                "end": 5793,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 15
                  },
                  "end": {
                    "line": 159,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5674,
                  "end": 5793,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 18
                    },
                    "end": {
                      "line": 159,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5685,
                      "end": 5693,
                      "loc": {
                        "start": {
                          "line": 156,
                          "column": 8
                        },
                        "end": {
                          "line": 156,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5685,
                        "end": 5692,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 8
                          },
                          "end": {
                            "line": 156,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 5685,
                          "end": 5690,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 8
                            },
                            "end": {
                              "line": 156,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " data for viewmodel, used by sketcher.data.expressionSet",
                          "start": 5703,
                          "end": 5761,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 66
                            }
                          },
                          "range": [
                            5703,
                            5761
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5771,
                      "end": 5786,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5771,
                        "end": 5785,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 8
                          },
                          "end": {
                            "line": 158,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5771,
                          "end": 5780,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 8
                            },
                            "end": {
                              "line": 158,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5771,
                            "end": 5775,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 8
                              },
                              "end": {
                                "line": 158,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5776,
                            "end": 5780,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 13
                              },
                              "end": {
                                "line": 158,
                                "column": 17
                              }
                            },
                            "name": "data"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 5783,
                          "end": 5785,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 20
                            },
                            "end": {
                              "line": 158,
                              "column": 22
                            }
                          },
                          "elements": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " data for viewmodel, used by sketcher.data.expressionSet",
                          "start": 5703,
                          "end": 5761,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 66
                            }
                          },
                          "range": [
                            5703,
                            5761
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5801,
              "end": 6305,
              "loc": {
                "start": {
                  "line": 161,
                  "column": 4
                },
                "end": {
                  "line": 171,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5801,
                "end": 5810,
                "loc": {
                  "start": {
                    "line": 161,
                    "column": 4
                  },
                  "end": {
                    "line": 161,
                    "column": 13
                  }
                },
                "name": "addMember"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5810,
                "end": 6305,
                "loc": {
                  "start": {
                    "line": 161,
                    "column": 13
                  },
                  "end": {
                    "line": 171,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5811,
                    "end": 5817,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 14
                      },
                      "end": {
                        "line": 161,
                        "column": 20
                      }
                    },
                    "name": "member"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5819,
                  "end": 6305,
                  "loc": {
                    "start": {
                      "line": 161,
                      "column": 22
                    },
                    "end": {
                      "line": 171,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5830,
                      "end": 5888,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 66
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5830,
                        "end": 5887,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 8
                          },
                          "end": {
                            "line": 162,
                            "column": 65
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5830,
                          "end": 5870,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5830,
                            "end": 5864,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 8
                              },
                              "end": {
                                "line": 162,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5830,
                              "end": 5854,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 8
                                },
                                "end": {
                                  "line": 162,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5830,
                                "end": 5844,
                                "loc": {
                                  "start": {
                                    "line": 162,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 162,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5845,
                                "end": 5854,
                                "loc": {
                                  "start": {
                                    "line": 162,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 162,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5855,
                              "end": 5864,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 33
                                },
                                "end": {
                                  "line": 162,
                                  "column": 42
                                }
                              },
                              "name": "addMember"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5865,
                            "end": 5870,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 43
                              },
                              "end": {
                                "line": 162,
                                "column": 48
                              }
                            },
                            "name": "apply"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 5871,
                            "end": 5875,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 49
                              },
                              "end": {
                                "line": 162,
                                "column": 53
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 5877,
                            "end": 5886,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 55
                              },
                              "end": {
                                "line": 162,
                                "column": 64
                              }
                            },
                            "name": "arguments"
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5898,
                      "end": 5934,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5902,
                          "end": 5933,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 12
                            },
                            "end": {
                              "line": 163,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5902,
                            "end": 5904,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 12
                              },
                              "end": {
                                "line": 163,
                                "column": 14
                              }
                            },
                            "name": "mi"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 5907,
                            "end": 5933,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 17
                              },
                              "end": {
                                "line": 163,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5907,
                              "end": 5922,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 17
                                },
                                "end": {
                                  "line": 163,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5907,
                                "end": 5913,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 23
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5914,
                                "end": 5922,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 32
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5923,
                              "end": 5933,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 33
                                },
                                "end": {
                                  "line": 163,
                                  "column": 43
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5944,
                      "end": 6001,
                      "loc": {
                        "start": {
                          "line": 164,
                          "column": 8
                        },
                        "end": {
                          "line": 164,
                          "column": 65
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5948,
                          "end": 6000,
                          "loc": {
                            "start": {
                              "line": 164,
                              "column": 12
                            },
                            "end": {
                              "line": 164,
                              "column": 64
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5948,
                            "end": 5953,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 12
                              },
                              "end": {
                                "line": 164,
                                "column": 17
                              }
                            },
                            "name": "index"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 5956,
                            "end": 6000,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 20
                              },
                              "end": {
                                "line": 164,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5956,
                              "end": 5975,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 20
                                },
                                "end": {
                                  "line": 164,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5956,
                                "end": 5965,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5956,
                                  "end": 5960,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5961,
                                  "end": 5965,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 29
                                    }
                                  },
                                  "name": "data"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5966,
                                "end": 5975,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 39
                                  }
                                },
                                "name": "findIndex"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 5976,
                                "end": 5999,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 63
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 5976,
                                    "end": 5977,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 41
                                      }
                                    },
                                    "name": "x"
                                  }
                                ],
                                "body": {
                                  "type": "BinaryExpression",
                                  "start": 5981,
                                  "end": 5999,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 63
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 5981,
                                    "end": 5987,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5981,
                                      "end": 5982,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 46
                                        }
                                      },
                                      "name": "x"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5983,
                                      "end": 5987,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 51
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 5992,
                                    "end": 5999,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 63
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5992,
                                      "end": 5994,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 58
                                        }
                                      },
                                      "name": "mi"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5995,
                                      "end": 5999,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 63
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 6011,
                      "end": 6298,
                      "loc": {
                        "start": {
                          "line": 165,
                          "column": 8
                        },
                        "end": {
                          "line": 170,
                          "column": 43
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 6015,
                        "end": 6027,
                        "loc": {
                          "start": {
                            "line": 165,
                            "column": 12
                          },
                          "end": {
                            "line": 165,
                            "column": 24
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6015,
                          "end": 6020,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 12
                            },
                            "end": {
                              "line": 165,
                              "column": 17
                            }
                          },
                          "name": "index"
                        },
                        "operator": "===",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 6025,
                          "end": 6027,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 22
                            },
                            "end": {
                              "line": 165,
                              "column": 24
                            }
                          },
                          "operator": "-",
                          "prefix": true,
                          "argument": {
                            "type": "Literal",
                            "start": 6026,
                            "end": 6027,
                            "loc": {
                              "start": {
                                "line": 165,
                                "column": 23
                              },
                              "end": {
                                "line": 165,
                                "column": 24
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 6042,
                        "end": 6061,
                        "loc": {
                          "start": {
                            "line": 166,
                            "column": 12
                          },
                          "end": {
                            "line": 166,
                            "column": 31
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 6042,
                          "end": 6060,
                          "loc": {
                            "start": {
                              "line": 166,
                              "column": 12
                            },
                            "end": {
                              "line": 166,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6042,
                            "end": 6056,
                            "loc": {
                              "start": {
                                "line": 166,
                                "column": 12
                              },
                              "end": {
                                "line": 166,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6042,
                              "end": 6051,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 12
                                },
                                "end": {
                                  "line": 166,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6042,
                                "end": 6046,
                                "loc": {
                                  "start": {
                                    "line": 166,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6047,
                                "end": 6051,
                                "loc": {
                                  "start": {
                                    "line": 166,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 21
                                  }
                                },
                                "name": "data"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6052,
                              "end": 6056,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 22
                                },
                                "end": {
                                  "line": 166,
                                  "column": 26
                                }
                              },
                              "name": "push"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 6057,
                              "end": 6059,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 27
                                },
                                "end": {
                                  "line": 166,
                                  "column": 29
                                }
                              },
                              "name": "mi"
                            }
                          ]
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 6267,
                        "end": 6298,
                        "loc": {
                          "start": {
                            "line": 170,
                            "column": 12
                          },
                          "end": {
                            "line": 170,
                            "column": 43
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 6267,
                          "end": 6297,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 12
                            },
                            "end": {
                              "line": 170,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6267,
                            "end": 6283,
                            "loc": {
                              "start": {
                                "line": 170,
                                "column": 12
                              },
                              "end": {
                                "line": 170,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6267,
                              "end": 6276,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 12
                                },
                                "end": {
                                  "line": 170,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6267,
                                "end": 6271,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 16
                                  }
                                },
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6272,
                                "end": 6276,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 21
                                  }
                                },
                                "name": "data"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6277,
                              "end": 6283,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 22
                                },
                                "end": {
                                  "line": 170,
                                  "column": 28
                                }
                              },
                              "name": "splice"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 6284,
                              "end": 6289,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 29
                                },
                                "end": {
                                  "line": 170,
                                  "column": 34
                                }
                              },
                              "name": "index"
                            },
                            {
                              "type": "Literal",
                              "start": 6291,
                              "end": 6292,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 36
                                },
                                "end": {
                                  "line": 170,
                                  "column": 37
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Identifier",
                              "start": 6294,
                              "end": 6296,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 39
                                },
                                "end": {
                                  "line": 170,
                                  "column": 41
                                }
                              },
                              "name": "mi"
                            }
                          ],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " Can't use data[index] = mi because Vue doesn't track array element assignment",
                            "start": 6089,
                            "end": 6169,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 12
                              },
                              "end": {
                                "line": 168,
                                "column": 92
                              }
                            },
                            "range": [
                              6089,
                              6169
                            ]
                          },
                          {
                            "type": "CommentLine",
                            "value": " Workaround data.$set(index, mi) is Vue-specific, splice is portable",
                            "start": 6183,
                            "end": 6253,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 12
                              },
                              "end": {
                                "line": 169,
                                "column": 82
                              }
                            },
                            "range": [
                              6183,
                              6253
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6313,
              "end": 6701,
              "loc": {
                "start": {
                  "line": 173,
                  "column": 4
                },
                "end": {
                  "line": 181,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6313,
                "end": 6337,
                "loc": {
                  "start": {
                    "line": 173,
                    "column": 4
                  },
                  "end": {
                    "line": 173,
                    "column": 28
                  }
                },
                "name": "removeSuperfluousMembers"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6337,
                "end": 6701,
                "loc": {
                  "start": {
                    "line": 173,
                    "column": 28
                  },
                  "end": {
                    "line": 181,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 6340,
                  "end": 6701,
                  "loc": {
                    "start": {
                      "line": 173,
                      "column": 31
                    },
                    "end": {
                      "line": 181,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 6351,
                      "end": 6449,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 8
                        },
                        "end": {
                          "line": 174,
                          "column": 106
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6355,
                          "end": 6448,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 12
                            },
                            "end": {
                              "line": 174,
                              "column": 105
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6355,
                            "end": 6373,
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 12
                              },
                              "end": {
                                "line": 174,
                                "column": 30
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 6376,
                            "end": 6448,
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 33
                              },
                              "end": {
                                "line": 174,
                                "column": 105
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6376,
                              "end": 6431,
                              "loc": {
                                "start": {
                                  "line": 174,
                                  "column": 33
                                },
                                "end": {
                                  "line": 174,
                                  "column": 88
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 6376,
                                "end": 6425,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 82
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6376,
                                  "end": 6400,
                                  "loc": {
                                    "start": {
                                      "line": 174,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 174,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6376,
                                    "end": 6390,
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 47
                                      }
                                    },
                                    "name": "ClassCadObject"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6391,
                                    "end": 6400,
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 57
                                      }
                                    },
                                    "name": "prototype"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6401,
                                  "end": 6425,
                                  "loc": {
                                    "start": {
                                      "line": 174,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 174,
                                      "column": 82
                                    }
                                  },
                                  "name": "removeSuperfluousMembers"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6426,
                                "end": 6431,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 88
                                  }
                                },
                                "name": "apply"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 6432,
                                "end": 6436,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 89
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 93
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "start": 6438,
                                "end": 6447,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 95
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 104
                                  }
                                },
                                "name": "arguments"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6459,
                      "end": 6658,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 8
                        },
                        "end": {
                          "line": 179,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6459,
                        "end": 6657,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 8
                          },
                          "end": {
                            "line": 179,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6459,
                          "end": 6485,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 8
                            },
                            "end": {
                              "line": 175,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6459,
                            "end": 6477,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 8
                              },
                              "end": {
                                "line": 175,
                                "column": 26
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6478,
                            "end": 6485,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 27
                              },
                              "end": {
                                "line": 175,
                                "column": 34
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 6486,
                            "end": 6656,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 35
                              },
                              "end": {
                                "line": 179,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 6486,
                                "end": 6492,
                                "loc": {
                                  "start": {
                                    "line": 175,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 175,
                                    "column": 41
                                  }
                                },
                                "name": "member"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 6496,
                              "end": 6656,
                              "loc": {
                                "start": {
                                  "line": 175,
                                  "column": 45
                                },
                                "end": {
                                  "line": 179,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 6511,
                                  "end": 6569,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 70
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 6515,
                                      "end": 6568,
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 69
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 6515,
                                        "end": 6520,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 21
                                          }
                                        },
                                        "name": "index"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 6523,
                                        "end": 6568,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 69
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6523,
                                          "end": 6540,
                                          "loc": {
                                            "start": {
                                              "line": 176,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 176,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 6523,
                                            "end": 6532,
                                            "loc": {
                                              "start": {
                                                "line": 176,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 176,
                                                "column": 33
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 6523,
                                              "end": 6527,
                                              "loc": {
                                                "start": {
                                                  "line": 176,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 176,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6528,
                                              "end": 6532,
                                              "loc": {
                                                "start": {
                                                  "line": 176,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 176,
                                                  "column": 33
                                                }
                                              },
                                              "name": "data"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6533,
                                            "end": 6540,
                                            "loc": {
                                              "start": {
                                                "line": 176,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 176,
                                                "column": 41
                                              }
                                            },
                                            "name": "indexOf"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 6541,
                                            "end": 6567,
                                            "loc": {
                                              "start": {
                                                "line": 176,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 176,
                                                "column": 68
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 6541,
                                              "end": 6556,
                                              "loc": {
                                                "start": {
                                                  "line": 176,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 176,
                                                  "column": 57
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 6541,
                                                "end": 6547,
                                                "loc": {
                                                  "start": {
                                                    "line": 176,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 176,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "member"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 6548,
                                                "end": 6556,
                                                "loc": {
                                                  "start": {
                                                    "line": 176,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 176,
                                                    "column": 57
                                                  }
                                                },
                                                "name": "userData"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6557,
                                              "end": 6567,
                                              "loc": {
                                                "start": {
                                                  "line": 176,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 176,
                                                  "column": 68
                                                }
                                              },
                                              "name": "memberInfo"
                                            },
                                            "computed": false
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 6583,
                                  "end": 6645,
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 178,
                                      "column": 43
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 6587,
                                    "end": 6599,
                                    "loc": {
                                      "start": {
                                        "line": 177,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 177,
                                        "column": 28
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 6587,
                                      "end": 6592,
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 21
                                        }
                                      },
                                      "name": "index"
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "UnaryExpression",
                                      "start": 6597,
                                      "end": 6599,
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 28
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 6598,
                                        "end": 6599,
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 28
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 6618,
                                    "end": 6645,
                                    "loc": {
                                      "start": {
                                        "line": 178,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 178,
                                        "column": 43
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 6618,
                                      "end": 6644,
                                      "loc": {
                                        "start": {
                                          "line": 178,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 178,
                                          "column": 42
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6618,
                                        "end": 6634,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 6618,
                                          "end": 6627,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 25
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 6618,
                                            "end": 6622,
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6623,
                                            "end": 6627,
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 25
                                              }
                                            },
                                            "name": "data"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6628,
                                          "end": 6634,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 32
                                            }
                                          },
                                          "name": "splice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 6635,
                                          "end": 6640,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 38
                                            }
                                          },
                                          "name": "index"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 6642,
                                          "end": 6643,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 41
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 6668,
                      "end": 6694,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 8
                        },
                        "end": {
                          "line": 180,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 6675,
                        "end": 6693,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 15
                          },
                          "end": {
                            "line": 180,
                            "column": 33
                          }
                        },
                        "name": "superfluousMembers"
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Class for CC_ExpressionSet. Updates data during updates from the server.",
            "start": 5526,
            "end": 5601,
            "loc": {
              "start": {
                "line": 153,
                "column": 0
              },
              "end": {
                "line": 153,
                "column": 75
              }
            },
            "range": [
              5526,
              5601
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " Class for CC_ExpressionSet. Updates data during updates from the server.",
          "start": 5526,
          "end": 5601,
          "loc": {
            "start": {
              "line": 153,
              "column": 0
            },
            "end": {
              "line": 153,
              "column": 75
            }
          },
          "range": [
            5526,
            5601
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 6708,
      "end": 6772,
      "loc": {
        "start": {
          "line": 184,
          "column": 0
        },
        "end": {
          "line": 184,
          "column": 64
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 6708,
        "end": 6771,
        "loc": {
          "start": {
            "line": 184,
            "column": 0
          },
          "end": {
            "line": 184,
            "column": 63
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 6708,
          "end": 6755,
          "loc": {
            "start": {
              "line": 184,
              "column": 0
            },
            "end": {
              "line": 184,
              "column": 47
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 6708,
            "end": 6735,
            "loc": {
              "start": {
                "line": 184,
                "column": 0
              },
              "end": {
                "line": 184,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 6708,
              "end": 6722,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 0
                },
                "end": {
                  "line": 184,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 6723,
              "end": 6735,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 15
                },
                "end": {
                  "line": 184,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 6736,
            "end": 6754,
            "loc": {
              "start": {
                "line": 184,
                "column": 28
              },
              "end": {
                "line": 184,
                "column": 46
              }
            },
            "value": "CC_ExpressionSet",
            "rawValue": "CC_ExpressionSet",
            "raw": "'CC_ExpressionSet'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 6758,
          "end": 6771,
          "loc": {
            "start": {
              "line": 184,
              "column": 50
            },
            "end": {
              "line": 184,
              "column": 63
            }
          },
          "name": "ExpressionSet"
        }
      }
    }
  ]
}