{
  "type": "Program",
  "start": 0,
  "end": 6530,
  "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": 75,
      "end": 101,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 82,
          "end": 87,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 82,
            "end": 87,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 93,
        "end": 100,
        "loc": {
          "start": {
            "line": 2,
            "column": 18
          },
          "end": {
            "line": 2,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 102,
      "end": 141,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 109,
          "end": 116,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 109,
            "end": 116,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 122,
        "end": 140,
        "loc": {
          "start": {
            "line": 3,
            "column": 20
          },
          "end": {
            "line": 3,
            "column": 38
          }
        },
        "value": "../three/object3",
        "rawValue": "../three/object3",
        "raw": "'../three/object3'"
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Base class for all objects having corresponding object on the server.\n * It is the default class for creating objects when parsing object tree.\n * To provide more specialized client class for corresponding server class use classMapping:\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\n ",
          "start": 143,
          "end": 454,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "range": [
            143,
            454
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 455,
      "end": 2958,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 78,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 462,
        "end": 2958,
        "loc": {
          "start": {
            "line": 11,
            "column": 7
          },
          "end": {
            "line": 78,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 468,
          "end": 482,
          "loc": {
            "start": {
              "line": 11,
              "column": 13
            },
            "end": {
              "line": 11,
              "column": 27
            }
          },
          "name": "ClassCadObject",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 491,
          "end": 498,
          "loc": {
            "start": {
              "line": 11,
              "column": 36
            },
            "end": {
              "line": 11,
              "column": 43
            }
          },
          "name": "Object3"
        },
        "body": {
          "type": "ClassBody",
          "start": 499,
          "end": 2958,
          "loc": {
            "start": {
              "line": 11,
              "column": 44
            },
            "end": {
              "line": 78,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 505,
              "end": 587,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 505,
                "end": 516,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 4
                  },
                  "end": {
                    "line": 12,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 516,
                "end": 587,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 15
                  },
                  "end": {
                    "line": 15,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 519,
                  "end": 587,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 18
                    },
                    "end": {
                      "line": 15,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 529,
                      "end": 537,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 529,
                        "end": 536,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 529,
                          "end": 534,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 546,
                      "end": 581,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 546,
                        "end": 580,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 546,
                          "end": 558,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 546,
                            "end": 550,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 551,
                            "end": 558,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 13
                              },
                              "end": {
                                "line": 14,
                                "column": 20
                              }
                            },
                            "name": "members"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 561,
                          "end": 580,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 23
                            },
                            "end": {
                              "line": 14,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 561,
                            "end": 574,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 23
                              },
                              "end": {
                                "line": 14,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 561,
                              "end": 567,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 23
                                },
                                "end": {
                                  "line": 14,
                                  "column": 29
                                }
                              },
                              "name": "Object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 568,
                              "end": 574,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 30
                                },
                                "end": {
                                  "line": 14,
                                  "column": 36
                                }
                              },
                              "name": "create"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 575,
                              "end": 579,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 37
                                },
                                "end": {
                                  "line": 14,
                                  "column": 41
                                }
                              },
                              "value": null,
                              "rawValue": null,
                              "raw": "null"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 593,
              "end": 786,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 4
                },
                "end": {
                  "line": 21,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 597,
                "end": 605,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 8
                  },
                  "end": {
                    "line": 17,
                    "column": 16
                  }
                },
                "name": "fullName"
              },
              "static": false,
              "kind": "get",
              "value": {
                "type": "FunctionExpression",
                "start": 605,
                "end": 786,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 16
                  },
                  "end": {
                    "line": 21,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 608,
                  "end": 786,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 19
                    },
                    "end": {
                      "line": 21,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 618,
                      "end": 642,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 32
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 622,
                          "end": 641,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 12
                            },
                            "end": {
                              "line": 18,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 622,
                            "end": 627,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 12
                              },
                              "end": {
                                "line": 18,
                                "column": 17
                              }
                            },
                            "name": "names"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 630,
                            "end": 641,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 20
                              },
                              "end": {
                                "line": 18,
                                "column": 31
                              }
                            },
                            "elements": [
                              {
                                "type": "MemberExpression",
                                "start": 631,
                                "end": 640,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 631,
                                  "end": 635,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 636,
                                  "end": 640,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 30
                                    }
                                  },
                                  "name": "name"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 651,
                      "end": 738,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 95
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 651,
                        "end": 737,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 94
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 651,
                          "end": 673,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 651,
                            "end": 655,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 656,
                            "end": 673,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 13
                              },
                              "end": {
                                "line": 19,
                                "column": 30
                              }
                            },
                            "name": "traverseAncestors"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 674,
                            "end": 736,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 31
                              },
                              "end": {
                                "line": 19,
                                "column": 93
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 674,
                                "end": 677,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 34
                                  }
                                },
                                "name": "anc"
                              }
                            ],
                            "body": {
                              "type": "LogicalExpression",
                              "start": 681,
                              "end": 736,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 38
                                },
                                "end": {
                                  "line": 19,
                                  "column": 93
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 682,
                                "end": 711,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 682,
                                  "end": 685,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 42
                                    }
                                  },
                                  "name": "anc"
                                },
                                "operator": "instanceof",
                                "right": {
                                  "type": "Identifier",
                                  "start": 697,
                                  "end": 711,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 68
                                    }
                                  },
                                  "name": "ClassCadObject"
                                },
                                "parenthesizedExpression": true
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 716,
                                "end": 736,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 93
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 716,
                                  "end": 726,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 83
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 716,
                                    "end": 721,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 78
                                      }
                                    },
                                    "name": "names"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 722,
                                    "end": 726,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 83
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 727,
                                    "end": 735,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 92
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 727,
                                      "end": 730,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 87
                                        }
                                      },
                                      "name": "anc"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 731,
                                      "end": 735,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 88
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 92
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 747,
                      "end": 780,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 8
                        },
                        "end": {
                          "line": 20,
                          "column": 41
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 754,
                        "end": 779,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 15
                          },
                          "end": {
                            "line": 20,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 754,
                          "end": 774,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 15
                            },
                            "end": {
                              "line": 20,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 754,
                            "end": 769,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 15
                              },
                              "end": {
                                "line": 20,
                                "column": 30
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 754,
                              "end": 767,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 15
                                },
                                "end": {
                                  "line": 20,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 754,
                                "end": 759,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 20
                                  }
                                },
                                "name": "names"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 760,
                                "end": 767,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 28
                                  }
                                },
                                "name": "reverse"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 770,
                            "end": 774,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 31
                              },
                              "end": {
                                "line": 20,
                                "column": 35
                              }
                            },
                            "name": "join"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 775,
                            "end": 778,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 36
                              },
                              "end": {
                                "line": 20,
                                "column": 39
                              }
                            },
                            "value": ".",
                            "rawValue": ".",
                            "raw": "'.'"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 792,
              "end": 881,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 4
                },
                "end": {
                  "line": 25,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 792,
                "end": 808,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 4
                  },
                  "end": {
                    "line": 23,
                    "column": 20
                  }
                },
                "name": "updateFromServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 808,
                "end": 881,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 20
                  },
                  "end": {
                    "line": 25,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 811,
                  "end": 881,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 23
                    },
                    "end": {
                      "line": 25,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 821,
                      "end": 875,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 62
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 828,
                        "end": 874,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 15
                          },
                          "end": {
                            "line": 24,
                            "column": 61
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 828,
                          "end": 859,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 15
                            },
                            "end": {
                              "line": 24,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 828,
                            "end": 854,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 15
                              },
                              "end": {
                                "line": 24,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 828,
                              "end": 848,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 15
                                },
                                "end": {
                                  "line": 24,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 828,
                                "end": 837,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 24
                                  }
                                },
                                "name": "Statement"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 838,
                                "end": 848,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 35
                                  }
                                },
                                "name": "JSONExport"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 849,
                                "end": 853,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 40
                                  }
                                }
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 855,
                            "end": 859,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 42
                              },
                              "end": {
                                "line": 24,
                                "column": 46
                              }
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 860,
                            "end": 873,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 47
                              },
                              "end": {
                                "line": 24,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 860,
                              "end": 867,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 47
                                },
                                "end": {
                                  "line": 24,
                                  "column": 54
                                }
                              },
                              "name": "parseTo"
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 868,
                                "end": 872,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 59
                                  }
                                }
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 887,
              "end": 913,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 4
                },
                "end": {
                  "line": 28,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 887,
                "end": 903,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 4
                  },
                  "end": {
                    "line": 27,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 903,
                "end": 913,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 20
                  },
                  "end": {
                    "line": 28,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 906,
                  "end": 913,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 23
                    },
                    "end": {
                      "line": 28,
                      "column": 5
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 919,
              "end": 1644,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 43,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 919,
                "end": 936,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 4
                  },
                  "end": {
                    "line": 30,
                    "column": 21
                  }
                },
                "name": "setFromObjectTree"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 936,
                "end": 1644,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 21
                  },
                  "end": {
                    "line": 43,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 937,
                    "end": 951,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 22
                      },
                      "end": {
                        "line": 30,
                        "column": 36
                      }
                    },
                    "name": "objectTreeNode"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 953,
                  "end": 1644,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 38
                    },
                    "end": {
                      "line": 43,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 963,
                      "end": 996,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 963,
                        "end": 995,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 31,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 963,
                          "end": 972,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 963,
                            "end": 967,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 968,
                            "end": 972,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 13
                              },
                              "end": {
                                "line": 31,
                                "column": 17
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 975,
                          "end": 995,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 20
                            },
                            "end": {
                              "line": 31,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 975,
                            "end": 989,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 20
                              },
                              "end": {
                                "line": 31,
                                "column": 34
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 990,
                            "end": 995,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 35
                              },
                              "end": {
                                "line": 31,
                                "column": 40
                              }
                            },
                            "name": "class"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1005,
                      "end": 1037,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1005,
                        "end": 1036,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1005,
                          "end": 1014,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1005,
                            "end": 1009,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1010,
                            "end": 1014,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 13
                              },
                              "end": {
                                "line": 32,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1017,
                          "end": 1036,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 20
                            },
                            "end": {
                              "line": 32,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1017,
                            "end": 1031,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 20
                              },
                              "end": {
                                "line": 32,
                                "column": 34
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1032,
                            "end": 1036,
                            "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": 1046,
                          "end": 1113,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 75
                            }
                          },
                          "range": [
                            1046,
                            1113
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " this.visible = Boolean(objectTreeNode.objectInfo.graphicInfo.visible);",
                          "start": 1122,
                          "end": 1195,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 81
                            }
                          },
                          "range": [
                            1122,
                            1195
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1204,
                      "end": 1241,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1204,
                        "end": 1240,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1204,
                          "end": 1220,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1204,
                            "end": 1217,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1204,
                              "end": 1208,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 8
                                },
                                "end": {
                                  "line": 35,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1209,
                              "end": 1217,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 13
                                },
                                "end": {
                                  "line": 35,
                                  "column": 21
                                }
                              },
                              "name": "userData"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1218,
                            "end": 1220,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 22
                              },
                              "end": {
                                "line": 35,
                                "column": 24
                              }
                            },
                            "name": "id"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1223,
                          "end": 1240,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 27
                            },
                            "end": {
                              "line": 35,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1223,
                            "end": 1237,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 27
                              },
                              "end": {
                                "line": 35,
                                "column": 41
                              }
                            },
                            "name": "objectTreeNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1238,
                            "end": 1240,
                            "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": 1046,
                          "end": 1113,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 75
                            }
                          },
                          "range": [
                            1046,
                            1113
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " this.visible = Boolean(objectTreeNode.objectInfo.graphicInfo.visible);",
                          "start": 1122,
                          "end": 1195,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 81
                            }
                          },
                          "range": [
                            1122,
                            1195
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1250,
                      "end": 1304,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1250,
                        "end": 1303,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 8
                          },
                          "end": {
                            "line": 36,
                            "column": 61
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1250,
                          "end": 1269,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1250,
                            "end": 1263,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1250,
                              "end": 1254,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 8
                                },
                                "end": {
                                  "line": 36,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1255,
                              "end": 1263,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 13
                                },
                                "end": {
                                  "line": 36,
                                  "column": 21
                                }
                              },
                              "name": "userData"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1264,
                            "end": 1269,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 22
                              },
                              "end": {
                                "line": 36,
                                "column": 27
                              }
                            },
                            "name": "flags"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1272,
                          "end": 1303,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 30
                            },
                            "end": {
                              "line": 36,
                              "column": 61
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1272,
                            "end": 1297,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 30
                              },
                              "end": {
                                "line": 36,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1272,
                              "end": 1286,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 30
                                },
                                "end": {
                                  "line": 36,
                                  "column": 44
                                }
                              },
                              "name": "objectTreeNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1287,
                              "end": 1297,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 45
                                },
                                "end": {
                                  "line": 36,
                                  "column": 55
                                }
                              },
                              "name": "objectInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1298,
                            "end": 1303,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 56
                              },
                              "end": {
                                "line": 36,
                                "column": 61
                              }
                            },
                            "name": "flags"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 1313,
                      "end": 1467,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 1322,
                        "end": 1326,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 17
                          },
                          "end": {
                            "line": 37,
                            "column": 21
                          }
                        },
                        "name": "vec3"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 1327,
                          "end": 1331,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 22
                            },
                            "end": {
                              "line": 37,
                              "column": 26
                            }
                          },
                          "name": "name"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 1333,
                        "end": 1467,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 28
                          },
                          "end": {
                            "line": 40,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 1347,
                            "end": 1404,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 12
                              },
                              "end": {
                                "line": 38,
                                "column": 69
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 1351,
                                "end": 1403,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 68
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 1351,
                                  "end": 1352,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 17
                                    }
                                  },
                                  "name": "v"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 1355,
                                  "end": 1403,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1355,
                                    "end": 1397,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1355,
                                      "end": 1380,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 45
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1355,
                                        "end": 1369,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 34
                                          }
                                        },
                                        "name": "objectTreeNode"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1370,
                                        "end": 1380,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 45
                                          }
                                        },
                                        "name": "objectInfo"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1381,
                                      "end": 1397,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 62
                                        }
                                      },
                                      "name": "coordinateSystem"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1398,
                                    "end": 1402,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 67
                                      }
                                    },
                                    "name": "name"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 1417,
                            "end": 1457,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 12
                              },
                              "end": {
                                "line": 39,
                                "column": 52
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1424,
                              "end": 1456,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 19
                                },
                                "end": {
                                  "line": 39,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1428,
                                "end": 1441,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1428,
                                  "end": 1433,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 28
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1434,
                                  "end": 1441,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 36
                                    }
                                  },
                                  "name": "Vector3"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1442,
                                  "end": 1445,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1442,
                                    "end": 1443,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 38
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1444,
                                    "end": 1445,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 40
                                      }
                                    },
                                    "name": "x"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 1447,
                                  "end": 1450,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1447,
                                    "end": 1448,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 43
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1449,
                                    "end": 1450,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 45
                                      }
                                    },
                                    "name": "y"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 1452,
                                  "end": 1455,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1452,
                                    "end": 1453,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 48
                                      }
                                    },
                                    "name": "v"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1454,
                                    "end": 1455,
                                    "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": 1476,
                          "end": 1524,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 56
                            }
                          },
                          "range": [
                            1476,
                            1524
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1533,
                      "end": 1638,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 113
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1533,
                        "end": 1637,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 112
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1533,
                          "end": 1622,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 97
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1533,
                            "end": 1610,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 85
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1533,
                              "end": 1559,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 42,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1533,
                                "end": 1549,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1533,
                                  "end": 1537,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 12
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1538,
                                  "end": 1549,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 24
                                    }
                                  },
                                  "name": "matrixWorld"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1550,
                                "end": 1559,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 34
                                  }
                                },
                                "name": "makeBasis"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 1560,
                                "end": 1575,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1560,
                                  "end": 1564,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 39
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1565,
                                    "end": 1574,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 49
                                      }
                                    },
                                    "value": "vectorX",
                                    "rawValue": "vectorX",
                                    "raw": "'vectorX'"
                                  }
                                ]
                              },
                              {
                                "type": "CallExpression",
                                "start": 1577,
                                "end": 1592,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 67
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1577,
                                  "end": 1581,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 56
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1582,
                                    "end": 1591,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 66
                                      }
                                    },
                                    "value": "vectorY",
                                    "rawValue": "vectorY",
                                    "raw": "'vectorY'"
                                  }
                                ]
                              },
                              {
                                "type": "CallExpression",
                                "start": 1594,
                                "end": 1609,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 84
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1594,
                                  "end": 1598,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 73
                                    }
                                  },
                                  "name": "vec3"
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 1599,
                                    "end": 1608,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 74
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 83
                                      }
                                    },
                                    "value": "vectorZ",
                                    "rawValue": "vectorZ",
                                    "raw": "'vectorZ'"
                                  }
                                ]
                              }
                            ],
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1611,
                            "end": 1622,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 86
                              },
                              "end": {
                                "line": 42,
                                "column": 97
                              }
                            },
                            "name": "setPosition"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 1623,
                            "end": 1636,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 98
                              },
                              "end": {
                                "line": 42,
                                "column": 111
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1623,
                              "end": 1627,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 98
                                },
                                "end": {
                                  "line": 42,
                                  "column": 102
                                }
                              },
                              "name": "vec3"
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 1628,
                                "end": 1635,
                                "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": 1476,
                          "end": 1524,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 56
                            }
                          },
                          "range": [
                            1476,
                            1524
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 1650,
              "end": 1788,
              "loc": {
                "start": {
                  "line": 45,
                  "column": 4
                },
                "end": {
                  "line": 48,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1650,
                "end": 1677,
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 4
                  },
                  "end": {
                    "line": 45,
                    "column": 31
                  }
                },
                "name": "updateMatrixFromMatrixWorld"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 1677,
                "end": 1788,
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 31
                  },
                  "end": {
                    "line": 48,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1680,
                  "end": 1788,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 34
                    },
                    "end": {
                      "line": 48,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1690,
                      "end": 1738,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 56
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1690,
                        "end": 1737,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 55
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1690,
                          "end": 1712,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1690,
                            "end": 1701,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1690,
                              "end": 1694,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 46,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1695,
                              "end": 1701,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 13
                                },
                                "end": {
                                  "line": 46,
                                  "column": 19
                                }
                              },
                              "name": "matrix"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1702,
                            "end": 1712,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 20
                              },
                              "end": {
                                "line": 46,
                                "column": 30
                              }
                            },
                            "name": "getInverse"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1713,
                            "end": 1736,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 31
                              },
                              "end": {
                                "line": 46,
                                "column": 54
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1713,
                              "end": 1724,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 31
                                },
                                "end": {
                                  "line": 46,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1713,
                                "end": 1717,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 35
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1718,
                                "end": 1724,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 42
                                  }
                                },
                                "name": "parent"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1725,
                              "end": 1736,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 43
                                },
                                "end": {
                                  "line": 46,
                                  "column": 54
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1747,
                      "end": 1782,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1747,
                        "end": 1781,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1747,
                          "end": 1763,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1747,
                            "end": 1751,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1752,
                            "end": 1763,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 13
                              },
                              "end": {
                                "line": 47,
                                "column": 24
                              }
                            },
                            "name": "applyMatrix"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1764,
                            "end": 1780,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 25
                              },
                              "end": {
                                "line": 47,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1764,
                              "end": 1768,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 25
                                },
                                "end": {
                                  "line": 47,
                                  "column": 29
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1769,
                              "end": 1780,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 30
                                },
                                "end": {
                                  "line": 47,
                                  "column": 41
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 1794,
              "end": 2379,
              "loc": {
                "start": {
                  "line": 50,
                  "column": 4
                },
                "end": {
                  "line": 61,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1794,
                "end": 1803,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 4
                  },
                  "end": {
                    "line": 50,
                    "column": 13
                  }
                },
                "name": "addMember"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 1803,
                "end": 2379,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 13
                  },
                  "end": {
                    "line": 61,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1804,
                    "end": 1810,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 14
                      },
                      "end": {
                        "line": 50,
                        "column": 20
                      }
                    },
                    "name": "member"
                  },
                  {
                    "type": "Identifier",
                    "start": 1812,
                    "end": 1830,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 22
                      },
                      "end": {
                        "line": 50,
                        "column": 40
                      }
                    },
                    "name": "markAsFreshlyAdded"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1832,
                  "end": 2379,
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 42
                    },
                    "end": {
                      "line": 61,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1842,
                      "end": 1897,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1842,
                        "end": 1896,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 62
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1842,
                          "end": 1887,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1842,
                            "end": 1854,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1842,
                              "end": 1846,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 8
                                },
                                "end": {
                                  "line": 51,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1847,
                              "end": 1854,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 13
                                },
                                "end": {
                                  "line": 51,
                                  "column": 20
                                }
                              },
                              "name": "members"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "MemberExpression",
                            "start": 1855,
                            "end": 1886,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 21
                              },
                              "end": {
                                "line": 51,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1855,
                              "end": 1881,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 21
                                },
                                "end": {
                                  "line": 51,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1855,
                                "end": 1870,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1855,
                                  "end": 1861,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 27
                                    }
                                  },
                                  "name": "member"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1862,
                                  "end": 1870,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 36
                                    }
                                  },
                                  "name": "userData"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1871,
                                "end": 1881,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 47
                                  }
                                },
                                "name": "memberInfo"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1882,
                              "end": 1886,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 48
                                },
                                "end": {
                                  "line": 51,
                                  "column": 52
                                }
                              },
                              "name": "name"
                            },
                            "computed": false
                          },
                          "computed": true
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1890,
                          "end": 1896,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 56
                            },
                            "end": {
                              "line": 51,
                              "column": 62
                            }
                          },
                          "name": "member"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1906,
                      "end": 1969,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 71
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1906,
                        "end": 1968,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 70
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1906,
                          "end": 1947,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1906,
                            "end": 1932,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 8
                              },
                              "end": {
                                "line": 52,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1906,
                              "end": 1921,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 8
                                },
                                "end": {
                                  "line": 52,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1906,
                                "end": 1912,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 14
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1913,
                                "end": 1921,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 23
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1922,
                              "end": 1932,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 24
                                },
                                "end": {
                                  "line": 52,
                                  "column": 34
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1933,
                            "end": 1947,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 35
                              },
                              "end": {
                                "line": 52,
                                "column": 49
                              }
                            },
                            "name": "isFreshlyAdded"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1950,
                          "end": 1968,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 52
                            },
                            "end": {
                              "line": 52,
                              "column": 70
                            }
                          },
                          "name": "markAsFreshlyAdded"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 1978,
                      "end": 2278,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1982,
                        "end": 2029,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 12
                          },
                          "end": {
                            "line": 53,
                            "column": 59
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1982,
                          "end": 2013,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 12
                            },
                            "end": {
                              "line": 53,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1982,
                            "end": 2008,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 12
                              },
                              "end": {
                                "line": 53,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1982,
                              "end": 1997,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 12
                                },
                                "end": {
                                  "line": 53,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1982,
                                "end": 1988,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 18
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1989,
                                "end": 1997,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 27
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1998,
                              "end": 2008,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 28
                                },
                                "end": {
                                  "line": 53,
                                  "column": 38
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2009,
                            "end": 2013,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 39
                              },
                              "end": {
                                "line": 53,
                                "column": 43
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 2018,
                          "end": 2029,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 48
                            },
                            "end": {
                              "line": 53,
                              "column": 59
                            }
                          },
                          "value": "objectMem",
                          "rawValue": "objectMem",
                          "raw": "'objectMem'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2031,
                        "end": 2278,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 61
                          },
                          "end": {
                            "line": 58,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 2045,
                            "end": 2106,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 12
                              },
                              "end": {
                                "line": 55,
                                "column": 33
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 2049,
                              "end": 2071,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 16
                                },
                                "end": {
                                  "line": 54,
                                  "column": 38
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 2049,
                                "end": 2062,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2049,
                                  "end": 2055,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 22
                                    }
                                  },
                                  "name": "member"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2056,
                                  "end": 2062,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 29
                                    }
                                  },
                                  "name": "parent"
                                },
                                "computed": false
                              },
                              "operator": "!==",
                              "right": {
                                "type": "ThisExpression",
                                "start": 2067,
                                "end": 2071,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 38
                                  }
                                }
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 2089,
                              "end": 2106,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 16
                                },
                                "end": {
                                  "line": 55,
                                  "column": 33
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 2089,
                                "end": 2105,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 32
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2089,
                                  "end": 2097,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2089,
                                    "end": 2093,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2094,
                                    "end": 2097,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 24
                                      }
                                    },
                                    "name": "add"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 2098,
                                    "end": 2104,
                                    "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": 2119,
                                "end": 2218,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 111
                                  }
                                },
                                "range": [
                                  2119,
                                  2218
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2231,
                            "end": 2268,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 12
                              },
                              "end": {
                                "line": 57,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 2231,
                              "end": 2267,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 12
                                },
                                "end": {
                                  "line": 57,
                                  "column": 48
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2231,
                                "end": 2265,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2231,
                                  "end": 2237,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 18
                                    }
                                  },
                                  "name": "member",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2238,
                                  "end": 2265,
                                  "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": 2119,
                                "end": 2218,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 111
                                  }
                                },
                                "range": [
                                  2119,
                                  2218
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 2287,
                      "end": 2373,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2291,
                        "end": 2332,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 12
                          },
                          "end": {
                            "line": 59,
                            "column": 53
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2291,
                          "end": 2322,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 12
                            },
                            "end": {
                              "line": 59,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2291,
                            "end": 2317,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 12
                              },
                              "end": {
                                "line": 59,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2291,
                              "end": 2306,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 12
                                },
                                "end": {
                                  "line": 59,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2291,
                                "end": 2297,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 18
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2298,
                                "end": 2306,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 27
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2307,
                              "end": 2317,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 28
                                },
                                "end": {
                                  "line": 59,
                                  "column": 38
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2318,
                            "end": 2322,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 39
                              },
                              "end": {
                                "line": 59,
                                "column": 43
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 2327,
                          "end": 2332,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 48
                            },
                            "end": {
                              "line": 59,
                              "column": 53
                            }
                          },
                          "value": "pos",
                          "rawValue": "pos",
                          "raw": "'pos'"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 2346,
                        "end": 2373,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 12
                          },
                          "end": {
                            "line": 60,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2346,
                          "end": 2372,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 12
                            },
                            "end": {
                              "line": 60,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2346,
                            "end": 2364,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 12
                              },
                              "end": {
                                "line": 60,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2346,
                              "end": 2359,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 60,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2346,
                                "end": 2350,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2351,
                                "end": 2359,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 25
                                  }
                                },
                                "name": "position"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2360,
                              "end": 2364,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 26
                                },
                                "end": {
                                  "line": 60,
                                  "column": 30
                                }
                              },
                              "name": "copy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2365,
                              "end": 2371,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 31
                                },
                                "end": {
                                  "line": 60,
                                  "column": 37
                                }
                              },
                              "name": "member"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2385,
              "end": 2956,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 4
                },
                "end": {
                  "line": 77,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2385,
                "end": 2409,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 4
                  },
                  "end": {
                    "line": 63,
                    "column": 28
                  }
                },
                "name": "removeSuperfluousMembers"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2409,
                "end": 2956,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 28
                  },
                  "end": {
                    "line": 77,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2412,
                  "end": 2956,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 31
                    },
                    "end": {
                      "line": 77,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2422,
                      "end": 2450,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 36
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2426,
                          "end": 2449,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 12
                            },
                            "end": {
                              "line": 64,
                              "column": 35
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2426,
                            "end": 2444,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 12
                              },
                              "end": {
                                "line": 64,
                                "column": 30
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 2447,
                            "end": 2449,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 33
                              },
                              "end": {
                                "line": 64,
                                "column": 35
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2459,
                      "end": 2915,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2459,
                        "end": 2914,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2459,
                          "end": 2492,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 2459,
                            "end": 2484,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 8
                              },
                              "end": {
                                "line": 65,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2459,
                              "end": 2470,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 8
                                },
                                "end": {
                                  "line": 65,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2459,
                                "end": 2465,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 14
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2466,
                                "end": 2470,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 19
                                  }
                                },
                                "name": "keys"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 2471,
                                "end": 2483,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2471,
                                  "end": 2475,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2476,
                                  "end": 2483,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 32
                                    }
                                  },
                                  "name": "members"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2485,
                            "end": 2492,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 34
                              },
                              "end": {
                                "line": 65,
                                "column": 41
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2493,
                            "end": 2913,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 42
                              },
                              "end": {
                                "line": 75,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2493,
                                "end": 2497,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 46
                                  }
                                },
                                "name": "name"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2501,
                              "end": 2913,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 50
                                },
                                "end": {
                                  "line": 75,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 2515,
                                  "end": 2547,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 44
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 2519,
                                      "end": 2546,
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 43
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 2519,
                                        "end": 2525,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 22
                                          }
                                        },
                                        "name": "member"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 2528,
                                        "end": 2546,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 43
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2528,
                                          "end": 2540,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 37
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2528,
                                            "end": 2532,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2533,
                                            "end": 2540,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 37
                                              }
                                            },
                                            "name": "members"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2541,
                                          "end": 2545,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 42
                                            }
                                          },
                                          "name": "name"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2560,
                                  "end": 2717,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 2564,
                                    "end": 2605,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2564,
                                      "end": 2590,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2564,
                                        "end": 2579,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2564,
                                          "end": 2570,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 22
                                            }
                                          },
                                          "name": "member"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2571,
                                          "end": 2579,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 31
                                            }
                                          },
                                          "name": "userData"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2580,
                                        "end": 2590,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 42
                                          }
                                        },
                                        "name": "memberInfo"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2591,
                                      "end": 2605,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 57
                                        }
                                      },
                                      "name": "isFreshlyAdded"
                                    },
                                    "computed": false
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 2607,
                                    "end": 2717,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2625,
                                        "end": 2679,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 70
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2625,
                                          "end": 2678,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 69
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2625,
                                            "end": 2666,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 57
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2625,
                                              "end": 2651,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2625,
                                                "end": 2640,
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2625,
                                                  "end": 2631,
                                                  "loc": {
                                                    "start": {
                                                      "line": 68,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 68,
                                                      "column": 22
                                                    }
                                                  },
                                                  "name": "member"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2632,
                                                  "end": 2640,
                                                  "loc": {
                                                    "start": {
                                                      "line": 68,
                                                      "column": 23
                                                    },
                                                    "end": {
                                                      "line": 68,
                                                      "column": 31
                                                    }
                                                  },
                                                  "name": "userData"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2641,
                                                "end": 2651,
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "memberInfo"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2652,
                                              "end": 2666,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 57
                                                }
                                              },
                                              "name": "isFreshlyAdded"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 2669,
                                            "end": 2678,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 69
                                              }
                                            },
                                            "name": "undefined"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "start": 2696,
                                        "end": 2703,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 23
                                          }
                                        },
                                        "argument": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2730,
                                  "end": 2762,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 44
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 2730,
                                    "end": 2761,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 43
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2730,
                                      "end": 2753,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2730,
                                        "end": 2748,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 30
                                          }
                                        },
                                        "name": "superfluousMembers"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2749,
                                        "end": 2753,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 35
                                          }
                                        },
                                        "name": "push"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 2754,
                                        "end": 2760,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 42
                                          }
                                        },
                                        "name": "member"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2775,
                                  "end": 2801,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 38
                                    }
                                  },
                                  "expression": {
                                    "type": "UnaryExpression",
                                    "start": 2775,
                                    "end": 2800,
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 37
                                      }
                                    },
                                    "operator": "delete",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 2782,
                                      "end": 2800,
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2782,
                                        "end": 2794,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2782,
                                          "end": 2786,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2787,
                                          "end": 2794,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 31
                                            }
                                          },
                                          "name": "members"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2795,
                                        "end": 2799,
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 36
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "computed": true
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2814,
                                  "end": 2903,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 36
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 2818,
                                    "end": 2865,
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 63
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2818,
                                      "end": 2849,
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 47
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2818,
                                        "end": 2844,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 42
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2818,
                                          "end": 2833,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 31
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2818,
                                            "end": 2824,
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 22
                                              }
                                            },
                                            "name": "member"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2825,
                                            "end": 2833,
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 31
                                              }
                                            },
                                            "name": "userData"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2834,
                                          "end": 2844,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 42
                                            }
                                          },
                                          "name": "memberInfo"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2845,
                                        "end": 2849,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 47
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Literal",
                                      "start": 2854,
                                      "end": 2865,
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 63
                                        }
                                      },
                                      "value": "objectMem",
                                      "rawValue": "objectMem",
                                      "raw": "'objectMem'"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 2883,
                                    "end": 2903,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 36
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 2883,
                                      "end": 2902,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 35
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 2883,
                                        "end": 2894,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2883,
                                          "end": 2887,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2888,
                                          "end": 2894,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 27
                                            }
                                          },
                                          "name": "remove"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 2895,
                                          "end": 2901,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 34
                                            }
                                          },
                                          "name": "member"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2924,
                      "end": 2950,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 2931,
                        "end": 2949,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 15
                          },
                          "end": {
                            "line": 76,
                            "column": 33
                          }
                        },
                        "name": "superfluousMembers"
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\n * Base class for all objects having corresponding object on the server.\n * It is the default class for creating objects when parsing object tree.\n * To provide more specialized client class for corresponding server class use classMapping:\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\n ",
            "start": 143,
            "end": 454,
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 3
              }
            },
            "range": [
              143,
              454
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Base class for all objects having corresponding object on the server.\n * It is the default class for creating objects when parsing object tree.\n * To provide more specialized client class for corresponding server class use classMapping:\n * ClassCadObject.classMapping[\"MyServerClass\"] = MyClientClass;\n ",
          "start": 143,
          "end": 454,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "range": [
            143,
            454
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 2960,
      "end": 3010,
      "loc": {
        "start": {
          "line": 80,
          "column": 0
        },
        "end": {
          "line": 80,
          "column": 50
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 2960,
        "end": 3009,
        "loc": {
          "start": {
            "line": 80,
            "column": 0
          },
          "end": {
            "line": 80,
            "column": 49
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 2960,
          "end": 2987,
          "loc": {
            "start": {
              "line": 80,
              "column": 0
            },
            "end": {
              "line": 80,
              "column": 27
            }
          },
          "object": {
            "type": "Identifier",
            "start": 2960,
            "end": 2974,
            "loc": {
              "start": {
                "line": 80,
                "column": 0
              },
              "end": {
                "line": 80,
                "column": 14
              }
            },
            "name": "ClassCadObject"
          },
          "property": {
            "type": "Identifier",
            "start": 2975,
            "end": 2987,
            "loc": {
              "start": {
                "line": 80,
                "column": 15
              },
              "end": {
                "line": 80,
                "column": 27
              }
            },
            "name": "classMapping"
          },
          "computed": false
        },
        "right": {
          "type": "CallExpression",
          "start": 2990,
          "end": 3009,
          "loc": {
            "start": {
              "line": 80,
              "column": 30
            },
            "end": {
              "line": 80,
              "column": 49
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 2990,
            "end": 3003,
            "loc": {
              "start": {
                "line": 80,
                "column": 30
              },
              "end": {
                "line": 80,
                "column": 43
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2990,
              "end": 2996,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 30
                },
                "end": {
                  "line": 80,
                  "column": 36
                }
              },
              "name": "Object"
            },
            "property": {
              "type": "Identifier",
              "start": 2997,
              "end": 3003,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 37
                },
                "end": {
                  "line": 80,
                  "column": 43
                }
              },
              "name": "create"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Literal",
              "start": 3004,
              "end": 3008,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 44
                },
                "end": {
                  "line": 80,
                  "column": 48
                }
              },
              "value": null,
              "rawValue": null,
              "raw": "null"
            }
          ]
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Class for _O object, root of the object hiearchy.\n ",
          "start": 3012,
          "end": 3071,
          "loc": {
            "start": {
              "line": 82,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 3
            }
          },
          "range": [
            3012,
            3071
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 3072,
      "end": 3559,
      "loc": {
        "start": {
          "line": 85,
          "column": 0
        },
        "end": {
          "line": 100,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 3079,
        "end": 3559,
        "loc": {
          "start": {
            "line": 85,
            "column": 7
          },
          "end": {
            "line": 100,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3085,
          "end": 3095,
          "loc": {
            "start": {
              "line": 85,
              "column": 13
            },
            "end": {
              "line": 85,
              "column": 23
            }
          },
          "name": "RootObject",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 3104,
          "end": 3118,
          "loc": {
            "start": {
              "line": 85,
              "column": 32
            },
            "end": {
              "line": 85,
              "column": 46
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 3119,
          "end": 3559,
          "loc": {
            "start": {
              "line": 85,
              "column": 47
            },
            "end": {
              "line": 100,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 3125,
              "end": 3189,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 4
                },
                "end": {
                  "line": 89,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3125,
                "end": 3136,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 4
                  },
                  "end": {
                    "line": 86,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 3136,
                "end": 3189,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 15
                  },
                  "end": {
                    "line": 89,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3139,
                  "end": 3189,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 18
                    },
                    "end": {
                      "line": 89,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3149,
                      "end": 3157,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 8
                        },
                        "end": {
                          "line": 87,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3149,
                        "end": 3156,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 8
                          },
                          "end": {
                            "line": 87,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 3149,
                          "end": 3154,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 8
                            },
                            "end": {
                              "line": 87,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3166,
                      "end": 3183,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 8
                        },
                        "end": {
                          "line": 88,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3166,
                        "end": 3182,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 8
                          },
                          "end": {
                            "line": 88,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3166,
                          "end": 3175,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 8
                            },
                            "end": {
                              "line": 88,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3166,
                            "end": 3170,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 8
                              },
                              "end": {
                                "line": 88,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3171,
                            "end": 3175,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 13
                              },
                              "end": {
                                "line": 88,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3178,
                          "end": 3182,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 20
                            },
                            "end": {
                              "line": 88,
                              "column": 24
                            }
                          },
                          "value": "_O",
                          "rawValue": "_O",
                          "raw": "'_O'"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 3195,
              "end": 3314,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 4
                },
                "end": {
                  "line": 93,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3195,
                "end": 3211,
                "loc": {
                  "start": {
                    "line": 91,
                    "column": 4
                  },
                  "end": {
                    "line": 91,
                    "column": 20
                  }
                },
                "name": "updateFromServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3211,
                "end": 3314,
                "loc": {
                  "start": {
                    "line": 91,
                    "column": 20
                  },
                  "end": {
                    "line": 93,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3214,
                  "end": 3314,
                  "loc": {
                    "start": {
                      "line": 91,
                      "column": 23
                    },
                    "end": {
                      "line": 93,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 3224,
                      "end": 3308,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 8
                        },
                        "end": {
                          "line": 92,
                          "column": 92
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 3231,
                        "end": 3307,
                        "loc": {
                          "start": {
                            "line": 92,
                            "column": 15
                          },
                          "end": {
                            "line": 92,
                            "column": 91
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3231,
                          "end": 3262,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 15
                            },
                            "end": {
                              "line": 92,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 3231,
                            "end": 3257,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 15
                              },
                              "end": {
                                "line": 92,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3231,
                              "end": 3251,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 15
                                },
                                "end": {
                                  "line": 92,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3231,
                                "end": 3240,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 24
                                  }
                                },
                                "name": "Statement"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3241,
                                "end": 3251,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 35
                                  }
                                },
                                "name": "JSONExport"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 3252,
                                "end": 3256,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 40
                                  }
                                }
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3258,
                            "end": 3262,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 42
                              },
                              "end": {
                                "line": 92,
                                "column": 46
                              }
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 3263,
                            "end": 3306,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 47
                              },
                              "end": {
                                "line": 92,
                                "column": 90
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 3263,
                                "end": 3267,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 51
                                  }
                                },
                                "name": "tree"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 3271,
                              "end": 3306,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 55
                                },
                                "end": {
                                  "line": 92,
                                  "column": 90
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3271,
                                "end": 3291,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3271,
                                  "end": 3286,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 70
                                    }
                                  },
                                  "name": "parseObjectTree"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3287,
                                  "end": 3291,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 71
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 75
                                    }
                                  },
                                  "name": "call"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "start": 3292,
                                  "end": 3296,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 80
                                    }
                                  }
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 3298,
                                  "end": 3305,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 82
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 89
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3298,
                                    "end": 3302,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 82
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 86
                                      }
                                    },
                                    "name": "tree"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 3303,
                                    "end": 3304,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 87
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 88
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 3320,
              "end": 3557,
              "loc": {
                "start": {
                  "line": 95,
                  "column": 4
                },
                "end": {
                  "line": 99,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3320,
                "end": 3337,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 4
                  },
                  "end": {
                    "line": 95,
                    "column": 21
                  }
                },
                "name": "setFromObjectTree"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3337,
                "end": 3557,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 21
                  },
                  "end": {
                    "line": 99,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3338,
                    "end": 3352,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 22
                      },
                      "end": {
                        "line": 95,
                        "column": 36
                      }
                    },
                    "name": "objectTreeNode"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3354,
                  "end": 3557,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 38
                    },
                    "end": {
                      "line": 99,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3364,
                      "end": 3434,
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 8
                        },
                        "end": {
                          "line": 96,
                          "column": 78
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3364,
                        "end": 3433,
                        "loc": {
                          "start": {
                            "line": 96,
                            "column": 8
                          },
                          "end": {
                            "line": 96,
                            "column": 77
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3364,
                          "end": 3411,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 8
                            },
                            "end": {
                              "line": 96,
                              "column": 55
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3364,
                            "end": 3406,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 8
                              },
                              "end": {
                                "line": 96,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3364,
                              "end": 3388,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 8
                                },
                                "end": {
                                  "line": 96,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3364,
                                "end": 3378,
                                "loc": {
                                  "start": {
                                    "line": 96,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3379,
                                "end": 3388,
                                "loc": {
                                  "start": {
                                    "line": 96,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3389,
                              "end": 3406,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 33
                                },
                                "end": {
                                  "line": 96,
                                  "column": 50
                                }
                              },
                              "name": "setFromObjectTree"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3407,
                            "end": 3411,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 51
                              },
                              "end": {
                                "line": 96,
                                "column": 55
                              }
                            },
                            "name": "call"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 3412,
                            "end": 3416,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 56
                              },
                              "end": {
                                "line": 96,
                                "column": 60
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 3418,
                            "end": 3432,
                            "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": 3443,
                          "end": 3525,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 8
                            },
                            "end": {
                              "line": 97,
                              "column": 90
                            }
                          },
                          "range": [
                            3443,
                            3525
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3534,
                      "end": 3551,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 8
                        },
                        "end": {
                          "line": 98,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3534,
                        "end": 3550,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 8
                          },
                          "end": {
                            "line": 98,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3534,
                          "end": 3543,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 8
                            },
                            "end": {
                              "line": 98,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3534,
                            "end": 3538,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 8
                              },
                              "end": {
                                "line": 98,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3539,
                            "end": 3543,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 13
                              },
                              "end": {
                                "line": 98,
                                "column": 17
                              }
                            },
                            "name": "name"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3546,
                          "end": 3550,
                          "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": 3443,
                          "end": 3525,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 8
                            },
                            "end": {
                              "line": 97,
                              "column": 90
                            }
                          },
                          "range": [
                            3443,
                            3525
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\n * Class for _O object, root of the object hiearchy.\n ",
            "start": 3012,
            "end": 3071,
            "loc": {
              "start": {
                "line": 82,
                "column": 0
              },
              "end": {
                "line": 84,
                "column": 3
              }
            },
            "range": [
              3012,
              3071
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Class for _O object, root of the object hiearchy.\n ",
          "start": 3012,
          "end": 3071,
          "loc": {
            "start": {
              "line": 82,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 3
            }
          },
          "range": [
            3012,
            3071
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 3561,
      "end": 3616,
      "loc": {
        "start": {
          "line": 102,
          "column": 0
        },
        "end": {
          "line": 102,
          "column": 55
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 3561,
        "end": 3615,
        "loc": {
          "start": {
            "line": 102,
            "column": 0
          },
          "end": {
            "line": 102,
            "column": 54
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 3561,
          "end": 3602,
          "loc": {
            "start": {
              "line": 102,
              "column": 0
            },
            "end": {
              "line": 102,
              "column": 41
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 3561,
            "end": 3588,
            "loc": {
              "start": {
                "line": 102,
                "column": 0
              },
              "end": {
                "line": 102,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 3561,
              "end": 3575,
              "loc": {
                "start": {
                  "line": 102,
                  "column": 0
                },
                "end": {
                  "line": 102,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 3576,
              "end": 3588,
              "loc": {
                "start": {
                  "line": 102,
                  "column": 15
                },
                "end": {
                  "line": 102,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 3589,
            "end": 3601,
            "loc": {
              "start": {
                "line": 102,
                "column": 28
              },
              "end": {
                "line": 102,
                "column": 40
              }
            },
            "value": "AllObjects",
            "rawValue": "AllObjects",
            "raw": "'AllObjects'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 3605,
          "end": 3615,
          "loc": {
            "start": {
              "line": 102,
              "column": 44
            },
            "end": {
              "line": 102,
              "column": 54
            }
          },
          "name": "RootObject"
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\n ",
          "start": 3618,
          "end": 3716,
          "loc": {
            "start": {
              "line": 104,
              "column": 0
            },
            "end": {
              "line": 106,
              "column": 3
            }
          },
          "range": [
            3618,
            3716
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 3717,
      "end": 5160,
      "loc": {
        "start": {
          "line": 107,
          "column": 0
        },
        "end": {
          "line": 147,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 3724,
        "end": 5160,
        "loc": {
          "start": {
            "line": 107,
            "column": 7
          },
          "end": {
            "line": 147,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3730,
          "end": 3734,
          "loc": {
            "start": {
              "line": 107,
              "column": 13
            },
            "end": {
              "line": 107,
              "column": 17
            }
          },
          "name": "Part",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 3743,
          "end": 3757,
          "loc": {
            "start": {
              "line": 107,
              "column": 26
            },
            "end": {
              "line": 107,
              "column": 40
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 3758,
          "end": 5160,
          "loc": {
            "start": {
              "line": 107,
              "column": 41
            },
            "end": {
              "line": 147,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 3764,
              "end": 3833,
              "loc": {
                "start": {
                  "line": 108,
                  "column": 4
                },
                "end": {
                  "line": 111,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3764,
                "end": 3775,
                "loc": {
                  "start": {
                    "line": 108,
                    "column": 4
                  },
                  "end": {
                    "line": 108,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 3775,
                "end": 3833,
                "loc": {
                  "start": {
                    "line": 108,
                    "column": 15
                  },
                  "end": {
                    "line": 111,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3778,
                  "end": 3833,
                  "loc": {
                    "start": {
                      "line": 108,
                      "column": 18
                    },
                    "end": {
                      "line": 111,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3788,
                      "end": 3796,
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 8
                        },
                        "end": {
                          "line": 109,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3788,
                        "end": 3795,
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 8
                          },
                          "end": {
                            "line": 109,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 3788,
                          "end": 3793,
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 8
                            },
                            "end": {
                              "line": 109,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3805,
                      "end": 3827,
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 8
                        },
                        "end": {
                          "line": 110,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3805,
                        "end": 3826,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 8
                          },
                          "end": {
                            "line": 110,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3805,
                          "end": 3814,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 8
                            },
                            "end": {
                              "line": 110,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3805,
                            "end": 3809,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 8
                              },
                              "end": {
                                "line": 110,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3810,
                            "end": 3814,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 13
                              },
                              "end": {
                                "line": 110,
                                "column": 17
                              }
                            },
                            "name": "item"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 3817,
                          "end": 3826,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 20
                            },
                            "end": {
                              "line": 110,
                              "column": 29
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 3839,
              "end": 4292,
              "loc": {
                "start": {
                  "line": 113,
                  "column": 4
                },
                "end": {
                  "line": 123,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3839,
                "end": 3855,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 4
                  },
                  "end": {
                    "line": 113,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3855,
                "end": 4292,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 20
                  },
                  "end": {
                    "line": 123,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3858,
                  "end": 4292,
                  "loc": {
                    "start": {
                      "line": 113,
                      "column": 23
                    },
                    "end": {
                      "line": 123,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3868,
                      "end": 3921,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3868,
                        "end": 3920,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 8
                          },
                          "end": {
                            "line": 114,
                            "column": 60
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3868,
                          "end": 3914,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3868,
                            "end": 3909,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 8
                              },
                              "end": {
                                "line": 114,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3868,
                              "end": 3892,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 8
                                },
                                "end": {
                                  "line": 114,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3868,
                                "end": 3882,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3883,
                                "end": 3892,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3893,
                              "end": 3909,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 33
                                },
                                "end": {
                                  "line": 114,
                                  "column": 49
                                }
                              },
                              "name": "finishedUpdating"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3910,
                            "end": 3914,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 50
                              },
                              "end": {
                                "line": 114,
                                "column": 54
                              }
                            },
                            "name": "call"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 3915,
                            "end": 3919,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 55
                              },
                              "end": {
                                "line": 114,
                                "column": 59
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 3930,
                      "end": 4261,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 8
                        },
                        "end": {
                          "line": 121,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3934,
                        "end": 3966,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 12
                          },
                          "end": {
                            "line": 115,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3934,
                          "end": 3943,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 12
                            },
                            "end": {
                              "line": 115,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3934,
                            "end": 3938,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 12
                              },
                              "end": {
                                "line": 115,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3939,
                            "end": 3943,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 17
                              },
                              "end": {
                                "line": 115,
                                "column": 21
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 3948,
                          "end": 3966,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 26
                            },
                            "end": {
                              "line": 115,
                              "column": 44
                            }
                          },
                          "value": "CC_PartReference",
                          "rawValue": "CC_PartReference",
                          "raw": "'CC_PartReference'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3968,
                        "end": 4261,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 46
                          },
                          "end": {
                            "line": 121,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 4052,
                            "end": 4083,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 12
                              },
                              "end": {
                                "line": 117,
                                "column": 43
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4056,
                                "end": 4082,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 42
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 4056,
                                  "end": 4060,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 20
                                    }
                                  },
                                  "name": "part",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 4063,
                                  "end": 4082,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4063,
                                    "end": 4075,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4063,
                                      "end": 4067,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4068,
                                      "end": 4075,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 35
                                        }
                                      },
                                      "name": "members"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4076,
                                    "end": 4082,
                                    "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": 3982,
                                "end": 4039,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 69
                                  }
                                },
                                "range": [
                                  3982,
                                  4039
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4096,
                            "end": 4136,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 12
                              },
                              "end": {
                                "line": 118,
                                "column": 52
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4096,
                              "end": 4135,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 12
                                },
                                "end": {
                                  "line": 118,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4096,
                                "end": 4117,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4096,
                                  "end": 4112,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4096,
                                    "end": 4100,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 16
                                      }
                                    },
                                    "name": "part"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4101,
                                    "end": 4112,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 28
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4113,
                                  "end": 4117,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 33
                                    }
                                  },
                                  "name": "copy"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 4118,
                                  "end": 4134,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4118,
                                    "end": 4122,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4123,
                                    "end": 4134,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 50
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4149,
                            "end": 4184,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 12
                              },
                              "end": {
                                "line": 119,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4149,
                              "end": 4183,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 12
                                },
                                "end": {
                                  "line": 119,
                                  "column": 46
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4149,
                                "end": 4181,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4149,
                                  "end": 4153,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 16
                                    }
                                  },
                                  "name": "part"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4154,
                                  "end": 4181,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 44
                                    }
                                  },
                                  "name": "updateMatrixFromMatrixWorld"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4197,
                            "end": 4251,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 12
                              },
                              "end": {
                                "line": 120,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4197,
                              "end": 4250,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 12
                                },
                                "end": {
                                  "line": 120,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4197,
                                "end": 4218,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4197,
                                  "end": 4210,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4197,
                                    "end": 4201,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 16
                                      }
                                    },
                                    "name": "part"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4202,
                                    "end": 4210,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 25
                                      }
                                    },
                                    "name": "children"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4211,
                                  "end": 4218,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 33
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 4219,
                                  "end": 4249,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 64
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 4219,
                                      "end": 4220,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 35
                                        }
                                      },
                                      "name": "c"
                                    }
                                  ],
                                  "body": {
                                    "type": "CallExpression",
                                    "start": 4224,
                                    "end": 4249,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 64
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4224,
                                      "end": 4243,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 58
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4224,
                                        "end": 4225,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 40
                                          }
                                        },
                                        "name": "c"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4226,
                                        "end": 4243,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 58
                                          }
                                        },
                                        "name": "updateMatrixWorld"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 4244,
                                        "end": 4248,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 63
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4270,
                      "end": 4286,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4270,
                        "end": 4285,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4270,
                          "end": 4283,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 8
                            },
                            "end": {
                              "line": 122,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4270,
                            "end": 4274,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 8
                              },
                              "end": {
                                "line": 122,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4275,
                            "end": 4283,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 13
                              },
                              "end": {
                                "line": 122,
                                "column": 21
                              }
                            },
                            "name": "addItems"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4298,
              "end": 5158,
              "loc": {
                "start": {
                  "line": 125,
                  "column": 4
                },
                "end": {
                  "line": 146,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4298,
                "end": 4306,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 4
                  },
                  "end": {
                    "line": 125,
                    "column": 12
                  }
                },
                "name": "addItems"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4306,
                "end": 5158,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 12
                  },
                  "end": {
                    "line": 146,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4309,
                  "end": 5158,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 15
                    },
                    "end": {
                      "line": 146,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 4415,
                      "end": 4461,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 8
                        },
                        "end": {
                          "line": 127,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4419,
                          "end": 4460,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 12
                            },
                            "end": {
                              "line": 127,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4419,
                            "end": 4426,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 12
                              },
                              "end": {
                                "line": 127,
                                "column": 19
                              }
                            },
                            "name": "newItem",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 4429,
                            "end": 4460,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 22
                              },
                              "end": {
                                "line": 127,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4429,
                              "end": 4445,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 22
                                },
                                "end": {
                                  "line": 127,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4429,
                                "end": 4433,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 26
                                  }
                                },
                                "name": "Part"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4434,
                                "end": 4445,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 38
                                  }
                                },
                                "name": "globalItems"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "MemberExpression",
                              "start": 4446,
                              "end": 4459,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 39
                                },
                                "end": {
                                  "line": 127,
                                  "column": 52
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4446,
                                "end": 4450,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 43
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4451,
                                "end": 4459,
                                "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": 4319,
                          "end": 4406,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 95
                            }
                          },
                          "range": [
                            4319,
                            4406
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 4470,
                      "end": 4651,
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 8
                        },
                        "end": {
                          "line": 132,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4474,
                        "end": 4506,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 12
                          },
                          "end": {
                            "line": 128,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4474,
                          "end": 4483,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 12
                            },
                            "end": {
                              "line": 128,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4474,
                            "end": 4478,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 12
                              },
                              "end": {
                                "line": 128,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4479,
                            "end": 4483,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 17
                              },
                              "end": {
                                "line": 128,
                                "column": 21
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 4488,
                          "end": 4506,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 26
                            },
                            "end": {
                              "line": 128,
                              "column": 44
                            }
                          },
                          "value": "CC_PartReference",
                          "rawValue": "CC_PartReference",
                          "raw": "'CC_PartReference'"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4508,
                        "end": 4651,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 46
                          },
                          "end": {
                            "line": 132,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 4522,
                            "end": 4552,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 12
                              },
                              "end": {
                                "line": 129,
                                "column": 42
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4526,
                                "end": 4551,
                                "loc": {
                                  "start": {
                                    "line": 129,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 129,
                                    "column": 41
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 4526,
                                  "end": 4529,
                                  "loc": {
                                    "start": {
                                      "line": 129,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 129,
                                      "column": 19
                                    }
                                  },
                                  "name": "ref"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 4532,
                                  "end": 4551,
                                  "loc": {
                                    "start": {
                                      "line": 129,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 129,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4532,
                                    "end": 4544,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4532,
                                      "end": 4536,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4537,
                                      "end": 4544,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 34
                                        }
                                      },
                                      "name": "members"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4545,
                                    "end": 4551,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 41
                                      }
                                    },
                                    "name": "partId"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4565,
                            "end": 4606,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 53
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4565,
                              "end": 4605,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 12
                                },
                                "end": {
                                  "line": 130,
                                  "column": 52
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4565,
                                "end": 4595,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4565,
                                  "end": 4581,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4565,
                                    "end": 4569,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 16
                                      }
                                    },
                                    "name": "Part"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4570,
                                    "end": 4581,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 28
                                      }
                                    },
                                    "name": "globalItems"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "MemberExpression",
                                  "start": 4582,
                                  "end": 4594,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4582,
                                    "end": 4585,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 32
                                      }
                                    },
                                    "name": "ref"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4586,
                                    "end": 4594,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 41
                                      }
                                    },
                                    "name": "fullName"
                                  },
                                  "computed": false
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 4598,
                                "end": 4605,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 52
                                  }
                                },
                                "name": "newItem"
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 4619,
                            "end": 4641,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 12
                              },
                              "end": {
                                "line": 131,
                                "column": 34
                              }
                            },
                            "argument": {
                              "type": "CallExpression",
                              "start": 4626,
                              "end": 4640,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 19
                                },
                                "end": {
                                  "line": 131,
                                  "column": 33
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4626,
                                "end": 4638,
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4626,
                                  "end": 4629,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 22
                                    }
                                  },
                                  "name": "ref"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4630,
                                  "end": 4638,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 31
                                    }
                                  },
                                  "name": "addItems"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 4660,
                      "end": 4706,
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 8
                        },
                        "end": {
                          "line": 134,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4664,
                        "end": 4685,
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 12
                          },
                          "end": {
                            "line": 133,
                            "column": 33
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4664,
                          "end": 4673,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 12
                            },
                            "end": {
                              "line": 133,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4664,
                            "end": 4668,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 12
                              },
                              "end": {
                                "line": 133,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4669,
                            "end": 4673,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 17
                              },
                              "end": {
                                "line": 133,
                                "column": 21
                              }
                            },
                            "name": "item"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 4678,
                          "end": 4685,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 26
                            },
                            "end": {
                              "line": 133,
                              "column": 33
                            }
                          },
                          "name": "newItem"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 4699,
                        "end": 4706,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 12
                          },
                          "end": {
                            "line": 134,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 4715,
                      "end": 4865,
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 4719,
                        "end": 4728,
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 12
                          },
                          "end": {
                            "line": 135,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 4719,
                          "end": 4723,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 12
                            },
                            "end": {
                              "line": 135,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4724,
                          "end": 4728,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 17
                            },
                            "end": {
                              "line": 135,
                              "column": 21
                            }
                          },
                          "name": "item"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4730,
                        "end": 4865,
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 23
                          },
                          "end": {
                            "line": 139,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4744,
                            "end": 4767,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 12
                              },
                              "end": {
                                "line": 136,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4744,
                              "end": 4766,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 12
                                },
                                "end": {
                                  "line": 136,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4744,
                                "end": 4755,
                                "loc": {
                                  "start": {
                                    "line": 136,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4744,
                                  "end": 4748,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4749,
                                  "end": 4755,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 23
                                    }
                                  },
                                  "name": "remove"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 4756,
                                  "end": 4765,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4756,
                                    "end": 4760,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4761,
                                    "end": 4765,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 33
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4780,
                            "end": 4820,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 12
                              },
                              "end": {
                                "line": 137,
                                "column": 52
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4780,
                              "end": 4819,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 12
                                },
                                "end": {
                                  "line": 137,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4780,
                                "end": 4801,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4780,
                                  "end": 4789,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 21
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4780,
                                    "end": 4784,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4785,
                                    "end": 4789,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 21
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4790,
                                  "end": 4801,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 33
                                    }
                                  },
                                  "name": "applyMatrix"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 4802,
                                  "end": 4818,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4802,
                                    "end": 4806,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4807,
                                    "end": 4818,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 50
                                      }
                                    },
                                    "name": "matrixWorld"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4833,
                            "end": 4855,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 12
                              },
                              "end": {
                                "line": 138,
                                "column": 34
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4833,
                              "end": 4854,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 12
                                },
                                "end": {
                                  "line": 138,
                                  "column": 33
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4833,
                                "end": 4842,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4833,
                                  "end": 4837,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4838,
                                  "end": 4842,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 21
                                    }
                                  },
                                  "name": "item"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 4845,
                                "end": 4854,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 33
                                  }
                                },
                                "name": "undefined"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 4874,
                      "end": 5152,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 8
                        },
                        "end": {
                          "line": 145,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 4878,
                        "end": 4885,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 12
                          },
                          "end": {
                            "line": 140,
                            "column": 19
                          }
                        },
                        "name": "newItem"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4887,
                        "end": 5152,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 21
                          },
                          "end": {
                            "line": 145,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4901,
                            "end": 4921,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 12
                              },
                              "end": {
                                "line": 141,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4901,
                              "end": 4920,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 12
                                },
                                "end": {
                                  "line": 141,
                                  "column": 31
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4901,
                                "end": 4910,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4901,
                                  "end": 4905,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4906,
                                  "end": 4910,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 21
                                    }
                                  },
                                  "name": "item"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 4913,
                                "end": 4920,
                                "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": 4934,
                                "end": 5024,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 102
                                  }
                                },
                                "range": [
                                  4934,
                                  5024
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 5037,
                            "end": 5109,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 12
                              },
                              "end": {
                                "line": 143,
                                "column": 84
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 5037,
                              "end": 5108,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 12
                                },
                                "end": {
                                  "line": 143,
                                  "column": 83
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5037,
                                "end": 5058,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5037,
                                  "end": 5046,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 21
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5037,
                                    "end": 5041,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5042,
                                    "end": 5046,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 21
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5047,
                                  "end": 5058,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 33
                                    }
                                  },
                                  "name": "applyMatrix"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 5059,
                                  "end": 5107,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 82
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 5059,
                                    "end": 5089,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 64
                                      }
                                    },
                                    "object": {
                                      "type": "NewExpression",
                                      "start": 5059,
                                      "end": 5078,
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 53
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 5063,
                                        "end": 5076,
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 5063,
                                          "end": 5068,
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 43
                                            }
                                          },
                                          "name": "THREE"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5069,
                                          "end": 5076,
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 51
                                            }
                                          },
                                          "name": "Matrix4"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5079,
                                      "end": 5089,
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 64
                                        }
                                      },
                                      "name": "getInverse"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 5090,
                                      "end": 5106,
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 81
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5090,
                                        "end": 5094,
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 69
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5095,
                                        "end": 5106,
                                        "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": 4934,
                                "end": 5024,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 102
                                  }
                                },
                                "range": [
                                  4934,
                                  5024
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 5122,
                            "end": 5142,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 12
                              },
                              "end": {
                                "line": 144,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 5122,
                              "end": 5141,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 12
                                },
                                "end": {
                                  "line": 144,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5122,
                                "end": 5130,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5122,
                                  "end": 5126,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5127,
                                  "end": 5130,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 20
                                    }
                                  },
                                  "name": "add"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 5131,
                                  "end": 5140,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5131,
                                    "end": 5135,
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5136,
                                    "end": 5140,
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 30
                                      }
                                    },
                                    "name": "item"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\n ",
            "start": 3618,
            "end": 3716,
            "loc": {
              "start": {
                "line": 104,
                "column": 0
              },
              "end": {
                "line": 106,
                "column": 3
              }
            },
            "range": [
              3618,
              3716
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Class for CC_Part, additionally contains items (meshes) added with Canvas.NewMesh event.\n ",
          "start": 3618,
          "end": 3716,
          "loc": {
            "start": {
              "line": 104,
              "column": 0
            },
            "end": {
              "line": 106,
              "column": 3
            }
          },
          "range": [
            3618,
            3716
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 5162,
      "end": 5208,
      "loc": {
        "start": {
          "line": 149,
          "column": 0
        },
        "end": {
          "line": 149,
          "column": 46
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5162,
        "end": 5207,
        "loc": {
          "start": {
            "line": 149,
            "column": 0
          },
          "end": {
            "line": 149,
            "column": 45
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5162,
          "end": 5200,
          "loc": {
            "start": {
              "line": 149,
              "column": 0
            },
            "end": {
              "line": 149,
              "column": 38
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5162,
            "end": 5189,
            "loc": {
              "start": {
                "line": 149,
                "column": 0
              },
              "end": {
                "line": 149,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5162,
              "end": 5176,
              "loc": {
                "start": {
                  "line": 149,
                  "column": 0
                },
                "end": {
                  "line": 149,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5177,
              "end": 5189,
              "loc": {
                "start": {
                  "line": 149,
                  "column": 15
                },
                "end": {
                  "line": 149,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5190,
            "end": 5199,
            "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": 5203,
          "end": 5207,
          "loc": {
            "start": {
              "line": 149,
              "column": 41
            },
            "end": {
              "line": 149,
              "column": 45
            }
          },
          "name": "Part"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 5209,
      "end": 5264,
      "loc": {
        "start": {
          "line": 150,
          "column": 0
        },
        "end": {
          "line": 150,
          "column": 55
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5209,
        "end": 5263,
        "loc": {
          "start": {
            "line": 150,
            "column": 0
          },
          "end": {
            "line": 150,
            "column": 54
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5209,
          "end": 5256,
          "loc": {
            "start": {
              "line": 150,
              "column": 0
            },
            "end": {
              "line": 150,
              "column": 47
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5209,
            "end": 5236,
            "loc": {
              "start": {
                "line": 150,
                "column": 0
              },
              "end": {
                "line": 150,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5209,
              "end": 5223,
              "loc": {
                "start": {
                  "line": 150,
                  "column": 0
                },
                "end": {
                  "line": 150,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5224,
              "end": 5236,
              "loc": {
                "start": {
                  "line": 150,
                  "column": 15
                },
                "end": {
                  "line": 150,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5237,
            "end": 5255,
            "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": 5259,
          "end": 5263,
          "loc": {
            "start": {
              "line": 150,
              "column": 50
            },
            "end": {
              "line": 150,
              "column": 54
            }
          },
          "name": "Part"
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 5265,
      "end": 5312,
      "loc": {
        "start": {
          "line": 151,
          "column": 0
        },
        "end": {
          "line": 151,
          "column": 47
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 5265,
        "end": 5311,
        "loc": {
          "start": {
            "line": 151,
            "column": 0
          },
          "end": {
            "line": 151,
            "column": 46
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 5265,
          "end": 5304,
          "loc": {
            "start": {
              "line": 151,
              "column": 0
            },
            "end": {
              "line": 151,
              "column": 39
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 5265,
            "end": 5292,
            "loc": {
              "start": {
                "line": 151,
                "column": 0
              },
              "end": {
                "line": 151,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5265,
              "end": 5279,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 0
                },
                "end": {
                  "line": 151,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 5280,
              "end": 5292,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 15
                },
                "end": {
                  "line": 151,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 5293,
            "end": 5303,
            "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": 5307,
          "end": 5311,
          "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": 5314,
          "end": 5389,
          "loc": {
            "start": {
              "line": 153,
              "column": 0
            },
            "end": {
              "line": 153,
              "column": 75
            }
          },
          "range": [
            5314,
            5389
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 5390,
      "end": 6463,
      "loc": {
        "start": {
          "line": 154,
          "column": 0
        },
        "end": {
          "line": 182,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 5397,
        "end": 6463,
        "loc": {
          "start": {
            "line": 154,
            "column": 7
          },
          "end": {
            "line": 182,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 5403,
          "end": 5416,
          "loc": {
            "start": {
              "line": 154,
              "column": 13
            },
            "end": {
              "line": 154,
              "column": 26
            }
          },
          "name": "ExpressionSet",
          "leadingComments": null
        },
        "superClass": {
          "type": "Identifier",
          "start": 5425,
          "end": 5439,
          "loc": {
            "start": {
              "line": 154,
              "column": 35
            },
            "end": {
              "line": 154,
              "column": 49
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 5440,
          "end": 6463,
          "loc": {
            "start": {
              "line": 154,
              "column": 50
            },
            "end": {
              "line": 182,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 5446,
              "end": 5575,
              "loc": {
                "start": {
                  "line": 155,
                  "column": 4
                },
                "end": {
                  "line": 159,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5446,
                "end": 5457,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 4
                  },
                  "end": {
                    "line": 155,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 5457,
                "end": 5575,
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 15
                  },
                  "end": {
                    "line": 159,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5460,
                  "end": 5575,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 18
                    },
                    "end": {
                      "line": 159,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5470,
                      "end": 5478,
                      "loc": {
                        "start": {
                          "line": 156,
                          "column": 8
                        },
                        "end": {
                          "line": 156,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5470,
                        "end": 5477,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 8
                          },
                          "end": {
                            "line": 156,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 5470,
                          "end": 5475,
                          "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": 5487,
                          "end": 5545,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 66
                            }
                          },
                          "range": [
                            5487,
                            5545
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5554,
                      "end": 5569,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5554,
                        "end": 5568,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 8
                          },
                          "end": {
                            "line": 158,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5554,
                          "end": 5563,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 8
                            },
                            "end": {
                              "line": 158,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5554,
                            "end": 5558,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 8
                              },
                              "end": {
                                "line": 158,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5559,
                            "end": 5563,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 13
                              },
                              "end": {
                                "line": 158,
                                "column": 17
                              }
                            },
                            "name": "data"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 5566,
                          "end": 5568,
                          "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": 5487,
                          "end": 5545,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 66
                            }
                          },
                          "range": [
                            5487,
                            5545
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5581,
              "end": 6075,
              "loc": {
                "start": {
                  "line": 161,
                  "column": 4
                },
                "end": {
                  "line": 171,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5581,
                "end": 5590,
                "loc": {
                  "start": {
                    "line": 161,
                    "column": 4
                  },
                  "end": {
                    "line": 161,
                    "column": 13
                  }
                },
                "name": "addMember"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5590,
                "end": 6075,
                "loc": {
                  "start": {
                    "line": 161,
                    "column": 13
                  },
                  "end": {
                    "line": 171,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5591,
                    "end": 5597,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 14
                      },
                      "end": {
                        "line": 161,
                        "column": 20
                      }
                    },
                    "name": "member"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5599,
                  "end": 6075,
                  "loc": {
                    "start": {
                      "line": 161,
                      "column": 22
                    },
                    "end": {
                      "line": 171,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5609,
                      "end": 5667,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 66
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5609,
                        "end": 5666,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 8
                          },
                          "end": {
                            "line": 162,
                            "column": 65
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5609,
                          "end": 5649,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5609,
                            "end": 5643,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 8
                              },
                              "end": {
                                "line": 162,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5609,
                              "end": 5633,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 8
                                },
                                "end": {
                                  "line": 162,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5609,
                                "end": 5623,
                                "loc": {
                                  "start": {
                                    "line": 162,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 162,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5624,
                                "end": 5633,
                                "loc": {
                                  "start": {
                                    "line": 162,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 162,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5634,
                              "end": 5643,
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 33
                                },
                                "end": {
                                  "line": 162,
                                  "column": 42
                                }
                              },
                              "name": "addMember"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5644,
                            "end": 5649,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 43
                              },
                              "end": {
                                "line": 162,
                                "column": 48
                              }
                            },
                            "name": "apply"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 5650,
                            "end": 5654,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 49
                              },
                              "end": {
                                "line": 162,
                                "column": 53
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 5656,
                            "end": 5665,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 55
                              },
                              "end": {
                                "line": 162,
                                "column": 64
                              }
                            },
                            "name": "arguments"
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5676,
                      "end": 5712,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5680,
                          "end": 5711,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 12
                            },
                            "end": {
                              "line": 163,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5680,
                            "end": 5682,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 12
                              },
                              "end": {
                                "line": 163,
                                "column": 14
                              }
                            },
                            "name": "mi"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 5685,
                            "end": 5711,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 17
                              },
                              "end": {
                                "line": 163,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5685,
                              "end": 5700,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 17
                                },
                                "end": {
                                  "line": 163,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5685,
                                "end": 5691,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 23
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5692,
                                "end": 5700,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 32
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5701,
                              "end": 5711,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 33
                                },
                                "end": {
                                  "line": 163,
                                  "column": 43
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5721,
                      "end": 5778,
                      "loc": {
                        "start": {
                          "line": 164,
                          "column": 8
                        },
                        "end": {
                          "line": 164,
                          "column": 65
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5725,
                          "end": 5777,
                          "loc": {
                            "start": {
                              "line": 164,
                              "column": 12
                            },
                            "end": {
                              "line": 164,
                              "column": 64
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5725,
                            "end": 5730,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 12
                              },
                              "end": {
                                "line": 164,
                                "column": 17
                              }
                            },
                            "name": "index"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 5733,
                            "end": 5777,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 20
                              },
                              "end": {
                                "line": 164,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5733,
                              "end": 5752,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 20
                                },
                                "end": {
                                  "line": 164,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5733,
                                "end": 5742,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5733,
                                  "end": 5737,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5738,
                                  "end": 5742,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 29
                                    }
                                  },
                                  "name": "data"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5743,
                                "end": 5752,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 39
                                  }
                                },
                                "name": "findIndex"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 5753,
                                "end": 5776,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 63
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 5753,
                                    "end": 5754,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 41
                                      }
                                    },
                                    "name": "x"
                                  }
                                ],
                                "body": {
                                  "type": "BinaryExpression",
                                  "start": 5758,
                                  "end": 5776,
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 164,
                                      "column": 63
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 5758,
                                    "end": 5764,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5758,
                                      "end": 5759,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 46
                                        }
                                      },
                                      "name": "x"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5760,
                                      "end": 5764,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 51
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 5769,
                                    "end": 5776,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 63
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5769,
                                      "end": 5771,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 58
                                        }
                                      },
                                      "name": "mi"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5772,
                                      "end": 5776,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 63
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 5787,
                      "end": 6069,
                      "loc": {
                        "start": {
                          "line": 165,
                          "column": 8
                        },
                        "end": {
                          "line": 170,
                          "column": 43
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5791,
                        "end": 5803,
                        "loc": {
                          "start": {
                            "line": 165,
                            "column": 12
                          },
                          "end": {
                            "line": 165,
                            "column": 24
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 5791,
                          "end": 5796,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 12
                            },
                            "end": {
                              "line": 165,
                              "column": 17
                            }
                          },
                          "name": "index"
                        },
                        "operator": "===",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 5801,
                          "end": 5803,
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 22
                            },
                            "end": {
                              "line": 165,
                              "column": 24
                            }
                          },
                          "operator": "-",
                          "prefix": true,
                          "argument": {
                            "type": "Literal",
                            "start": 5802,
                            "end": 5803,
                            "loc": {
                              "start": {
                                "line": 165,
                                "column": 23
                              },
                              "end": {
                                "line": 165,
                                "column": 24
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 5817,
                        "end": 5836,
                        "loc": {
                          "start": {
                            "line": 166,
                            "column": 12
                          },
                          "end": {
                            "line": 166,
                            "column": 31
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 5817,
                          "end": 5835,
                          "loc": {
                            "start": {
                              "line": 166,
                              "column": 12
                            },
                            "end": {
                              "line": 166,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5817,
                            "end": 5831,
                            "loc": {
                              "start": {
                                "line": 166,
                                "column": 12
                              },
                              "end": {
                                "line": 166,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5817,
                              "end": 5826,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 12
                                },
                                "end": {
                                  "line": 166,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5817,
                                "end": 5821,
                                "loc": {
                                  "start": {
                                    "line": 166,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5822,
                                "end": 5826,
                                "loc": {
                                  "start": {
                                    "line": 166,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 21
                                  }
                                },
                                "name": "data"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5827,
                              "end": 5831,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 22
                                },
                                "end": {
                                  "line": 166,
                                  "column": 26
                                }
                              },
                              "name": "push"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5832,
                              "end": 5834,
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 27
                                },
                                "end": {
                                  "line": 166,
                                  "column": 29
                                }
                              },
                              "name": "mi"
                            }
                          ]
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 6038,
                        "end": 6069,
                        "loc": {
                          "start": {
                            "line": 170,
                            "column": 12
                          },
                          "end": {
                            "line": 170,
                            "column": 43
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 6038,
                          "end": 6068,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 12
                            },
                            "end": {
                              "line": 170,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6038,
                            "end": 6054,
                            "loc": {
                              "start": {
                                "line": 170,
                                "column": 12
                              },
                              "end": {
                                "line": 170,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6038,
                              "end": 6047,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 12
                                },
                                "end": {
                                  "line": 170,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6038,
                                "end": 6042,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 16
                                  }
                                },
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6043,
                                "end": 6047,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 21
                                  }
                                },
                                "name": "data"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6048,
                              "end": 6054,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 22
                                },
                                "end": {
                                  "line": 170,
                                  "column": 28
                                }
                              },
                              "name": "splice"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 6055,
                              "end": 6060,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 29
                                },
                                "end": {
                                  "line": 170,
                                  "column": 34
                                }
                              },
                              "name": "index"
                            },
                            {
                              "type": "Literal",
                              "start": 6062,
                              "end": 6063,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 36
                                },
                                "end": {
                                  "line": 170,
                                  "column": 37
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Identifier",
                              "start": 6065,
                              "end": 6067,
                              "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": 5862,
                            "end": 5942,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 12
                              },
                              "end": {
                                "line": 168,
                                "column": 92
                              }
                            },
                            "range": [
                              5862,
                              5942
                            ]
                          },
                          {
                            "type": "CommentLine",
                            "value": " Workaround data.$set(index, mi) is Vue-specific, splice is portable",
                            "start": 5955,
                            "end": 6025,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 12
                              },
                              "end": {
                                "line": 169,
                                "column": 82
                              }
                            },
                            "range": [
                              5955,
                              6025
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 6081,
              "end": 6461,
              "loc": {
                "start": {
                  "line": 173,
                  "column": 4
                },
                "end": {
                  "line": 181,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6081,
                "end": 6105,
                "loc": {
                  "start": {
                    "line": 173,
                    "column": 4
                  },
                  "end": {
                    "line": 173,
                    "column": 28
                  }
                },
                "name": "removeSuperfluousMembers"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 6105,
                "end": 6461,
                "loc": {
                  "start": {
                    "line": 173,
                    "column": 28
                  },
                  "end": {
                    "line": 181,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 6108,
                  "end": 6461,
                  "loc": {
                    "start": {
                      "line": 173,
                      "column": 31
                    },
                    "end": {
                      "line": 181,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 6118,
                      "end": 6216,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 8
                        },
                        "end": {
                          "line": 174,
                          "column": 106
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6122,
                          "end": 6215,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 12
                            },
                            "end": {
                              "line": 174,
                              "column": 105
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6122,
                            "end": 6140,
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 12
                              },
                              "end": {
                                "line": 174,
                                "column": 30
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 6143,
                            "end": 6215,
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 33
                              },
                              "end": {
                                "line": 174,
                                "column": 105
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6143,
                              "end": 6198,
                              "loc": {
                                "start": {
                                  "line": 174,
                                  "column": 33
                                },
                                "end": {
                                  "line": 174,
                                  "column": 88
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 6143,
                                "end": 6192,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 82
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6143,
                                  "end": 6167,
                                  "loc": {
                                    "start": {
                                      "line": 174,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 174,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6143,
                                    "end": 6157,
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 47
                                      }
                                    },
                                    "name": "ClassCadObject"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6158,
                                    "end": 6167,
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 57
                                      }
                                    },
                                    "name": "prototype"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6168,
                                  "end": 6192,
                                  "loc": {
                                    "start": {
                                      "line": 174,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 174,
                                      "column": 82
                                    }
                                  },
                                  "name": "removeSuperfluousMembers"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6193,
                                "end": 6198,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 88
                                  }
                                },
                                "name": "apply"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 6199,
                                "end": 6203,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 89
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 93
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "start": 6205,
                                "end": 6214,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 95
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 104
                                  }
                                },
                                "name": "arguments"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6225,
                      "end": 6420,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 8
                        },
                        "end": {
                          "line": 179,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6225,
                        "end": 6419,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 8
                          },
                          "end": {
                            "line": 179,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6225,
                          "end": 6251,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 8
                            },
                            "end": {
                              "line": 175,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6225,
                            "end": 6243,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 8
                              },
                              "end": {
                                "line": 175,
                                "column": 26
                              }
                            },
                            "name": "superfluousMembers"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6244,
                            "end": 6251,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 27
                              },
                              "end": {
                                "line": 175,
                                "column": 34
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 6252,
                            "end": 6418,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 35
                              },
                              "end": {
                                "line": 179,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 6252,
                                "end": 6258,
                                "loc": {
                                  "start": {
                                    "line": 175,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 175,
                                    "column": 41
                                  }
                                },
                                "name": "member"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 6262,
                              "end": 6418,
                              "loc": {
                                "start": {
                                  "line": 175,
                                  "column": 45
                                },
                                "end": {
                                  "line": 179,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 6276,
                                  "end": 6334,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 70
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 6280,
                                      "end": 6333,
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 69
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 6280,
                                        "end": 6285,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 21
                                          }
                                        },
                                        "name": "index"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 6288,
                                        "end": 6333,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 69
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6288,
                                          "end": 6305,
                                          "loc": {
                                            "start": {
                                              "line": 176,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 176,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 6288,
                                            "end": 6297,
                                            "loc": {
                                              "start": {
                                                "line": 176,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 176,
                                                "column": 33
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 6288,
                                              "end": 6292,
                                              "loc": {
                                                "start": {
                                                  "line": 176,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 176,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6293,
                                              "end": 6297,
                                              "loc": {
                                                "start": {
                                                  "line": 176,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 176,
                                                  "column": 33
                                                }
                                              },
                                              "name": "data"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6298,
                                            "end": 6305,
                                            "loc": {
                                              "start": {
                                                "line": 176,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 176,
                                                "column": 41
                                              }
                                            },
                                            "name": "indexOf"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 6306,
                                            "end": 6332,
                                            "loc": {
                                              "start": {
                                                "line": 176,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 176,
                                                "column": 68
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 6306,
                                              "end": 6321,
                                              "loc": {
                                                "start": {
                                                  "line": 176,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 176,
                                                  "column": 57
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 6306,
                                                "end": 6312,
                                                "loc": {
                                                  "start": {
                                                    "line": 176,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 176,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "member"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 6313,
                                                "end": 6321,
                                                "loc": {
                                                  "start": {
                                                    "line": 176,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 176,
                                                    "column": 57
                                                  }
                                                },
                                                "name": "userData"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6322,
                                              "end": 6332,
                                              "loc": {
                                                "start": {
                                                  "line": 176,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 176,
                                                  "column": 68
                                                }
                                              },
                                              "name": "memberInfo"
                                            },
                                            "computed": false
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 6347,
                                  "end": 6408,
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 178,
                                      "column": 43
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 6351,
                                    "end": 6363,
                                    "loc": {
                                      "start": {
                                        "line": 177,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 177,
                                        "column": 28
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 6351,
                                      "end": 6356,
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 21
                                        }
                                      },
                                      "name": "index"
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "UnaryExpression",
                                      "start": 6361,
                                      "end": 6363,
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 28
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 6362,
                                        "end": 6363,
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 28
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 6381,
                                    "end": 6408,
                                    "loc": {
                                      "start": {
                                        "line": 178,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 178,
                                        "column": 43
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 6381,
                                      "end": 6407,
                                      "loc": {
                                        "start": {
                                          "line": 178,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 178,
                                          "column": 42
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6381,
                                        "end": 6397,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 6381,
                                          "end": 6390,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 25
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 6381,
                                            "end": 6385,
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6386,
                                            "end": 6390,
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 25
                                              }
                                            },
                                            "name": "data"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6391,
                                          "end": 6397,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 32
                                            }
                                          },
                                          "name": "splice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 6398,
                                          "end": 6403,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 38
                                            }
                                          },
                                          "name": "index"
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 6405,
                                          "end": 6406,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 41
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 6429,
                      "end": 6455,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 8
                        },
                        "end": {
                          "line": 180,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 6436,
                        "end": 6454,
                        "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": 5314,
            "end": 5389,
            "loc": {
              "start": {
                "line": 153,
                "column": 0
              },
              "end": {
                "line": 153,
                "column": 75
              }
            },
            "range": [
              5314,
              5389
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " Class for CC_ExpressionSet. Updates data during updates from the server.",
          "start": 5314,
          "end": 5389,
          "loc": {
            "start": {
              "line": 153,
              "column": 0
            },
            "end": {
              "line": 153,
              "column": 75
            }
          },
          "range": [
            5314,
            5389
          ]
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "start": 6465,
      "end": 6529,
      "loc": {
        "start": {
          "line": 184,
          "column": 0
        },
        "end": {
          "line": 184,
          "column": 64
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 6465,
        "end": 6528,
        "loc": {
          "start": {
            "line": 184,
            "column": 0
          },
          "end": {
            "line": 184,
            "column": 63
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 6465,
          "end": 6512,
          "loc": {
            "start": {
              "line": 184,
              "column": 0
            },
            "end": {
              "line": 184,
              "column": 47
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 6465,
            "end": 6492,
            "loc": {
              "start": {
                "line": 184,
                "column": 0
              },
              "end": {
                "line": 184,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 6465,
              "end": 6479,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 0
                },
                "end": {
                  "line": 184,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 6480,
              "end": 6492,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 15
                },
                "end": {
                  "line": 184,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 6493,
            "end": 6511,
            "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": 6515,
          "end": 6528,
          "loc": {
            "start": {
              "line": 184,
              "column": 50
            },
            "end": {
              "line": 184,
              "column": 63
            }
          },
          "name": "ExpressionSet"
        }
      }
    }
  ]
}