{
  "type": "File",
  "start": 0,
  "end": 4904,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 144,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 4904,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 144,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 31,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 31
          }
        },
        "specifiers": [
          {
            "type": "ImportNamespaceSpecifier",
            "start": 7,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 12,
              "end": 17,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 12
                },
                "end": {
                  "line": 1,
                  "column": 17
                },
                "identifierName": "THREE"
              },
              "name": "THREE"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 23,
          "end": 30,
          "loc": {
            "start": {
              "line": 1,
              "column": 23
            },
            "end": {
              "line": 1,
              "column": 30
            }
          },
          "extra": {
            "rawValue": "three",
            "raw": "'three'"
          },
          "value": "three"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 32,
        "end": 56,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 24
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 39,
            "end": 43,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 11
              }
            },
            "local": {
              "type": "Identifier",
              "start": 39,
              "end": 43,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 11
                },
                "identifierName": "pako"
              },
              "name": "pako"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 49,
          "end": 55,
          "loc": {
            "start": {
              "line": 2,
              "column": 17
            },
            "end": {
              "line": 2,
              "column": 23
            }
          },
          "extra": {
            "rawValue": "pako",
            "raw": "'pako'"
          },
          "value": "pako"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 57,
        "end": 97,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 40
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 64,
            "end": 70,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "local": {
              "type": "Identifier",
              "start": 64,
              "end": 70,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 13
                },
                "identifierName": "base64"
              },
              "name": "base64"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 76,
          "end": 96,
          "loc": {
            "start": {
              "line": 3,
              "column": 19
            },
            "end": {
              "line": 3,
              "column": 39
            }
          },
          "extra": {
            "rawValue": "base64-arraybuffer",
            "raw": "'base64-arraybuffer'"
          },
          "value": "base64-arraybuffer"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 98,
        "end": 137,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 39
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 105,
            "end": 112,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 14
              }
            },
            "local": {
              "type": "Identifier",
              "start": 105,
              "end": 112,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 7
                },
                "end": {
                  "line": 4,
                  "column": 14
                },
                "identifierName": "Object3"
              },
              "name": "Object3"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 118,
          "end": 136,
          "loc": {
            "start": {
              "line": 4,
              "column": 20
            },
            "end": {
              "line": 4,
              "column": 38
            }
          },
          "extra": {
            "rawValue": "../three/object3",
            "raw": "'../three/object3'"
          },
          "value": "../three/object3"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 138,
        "end": 188,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 50
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 147,
            "end": 158,
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 20
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 147,
              "end": 158,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 9
                },
                "end": {
                  "line": 5,
                  "column": 20
                },
                "identifierName": "exponential"
              },
              "name": "exponential"
            },
            "local": {
              "type": "Identifier",
              "start": 147,
              "end": 158,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 9
                },
                "end": {
                  "line": 5,
                  "column": 20
                },
                "identifierName": "exponential"
              },
              "name": "exponential"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 166,
          "end": 187,
          "loc": {
            "start": {
              "line": 5,
              "column": 28
            },
            "end": {
              "line": 5,
              "column": 49
            }
          },
          "extra": {
            "rawValue": "../animation/easing",
            "raw": "'../animation/easing'"
          },
          "value": "../animation/easing"
        }
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 190,
        "end": 522,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 20,
            "column": 1
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "ClassDeclaration",
          "start": 197,
          "end": 522,
          "loc": {
            "start": {
              "line": 7,
              "column": 7
            },
            "end": {
              "line": 20,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 203,
            "end": 207,
            "loc": {
              "start": {
                "line": 7,
                "column": 13
              },
              "end": {
                "line": 7,
                "column": 17
              },
              "identifierName": "Pool"
            },
            "name": "Pool"
          },
          "superClass": {
            "type": "Identifier",
            "start": 216,
            "end": 223,
            "loc": {
              "start": {
                "line": 7,
                "column": 26
              },
              "end": {
                "line": 7,
                "column": 33
              },
              "identifierName": "Object3"
            },
            "name": "Object3"
          },
          "body": {
            "type": "ClassBody",
            "start": 224,
            "end": 522,
            "loc": {
              "start": {
                "line": 7,
                "column": 34
              },
              "end": {
                "line": 20,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 230,
                "end": 483,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 4
                  },
                  "end": {
                    "line": 15,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 230,
                  "end": 241,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 4
                    },
                    "end": {
                      "line": 8,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "ObjectPattern",
                    "start": 242,
                    "end": 253,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 16
                      },
                      "end": {
                        "line": 8,
                        "column": 27
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 244,
                        "end": 251,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 18
                          },
                          "end": {
                            "line": 8,
                            "column": 25
                          }
                        },
                        "method": false,
                        "shorthand": true,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 244,
                          "end": 251,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 18
                            },
                            "end": {
                              "line": 8,
                              "column": 25
                            },
                            "identifierName": "session"
                          },
                          "name": "session"
                        },
                        "value": {
                          "type": "Identifier",
                          "start": 244,
                          "end": 251,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 18
                            },
                            "end": {
                              "line": 8,
                              "column": 25
                            },
                            "identifierName": "session"
                          },
                          "name": "session"
                        },
                        "extra": {
                          "shorthand": true
                        }
                      }
                    ]
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 255,
                  "end": 483,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 29
                    },
                    "end": {
                      "line": 15,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 265,
                      "end": 273,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 8
                        },
                        "end": {
                          "line": 9,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 265,
                        "end": 272,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 8
                          },
                          "end": {
                            "line": 9,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 265,
                          "end": 270,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 282,
                      "end": 305,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 8
                        },
                        "end": {
                          "line": 10,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 282,
                        "end": 304,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 282,
                          "end": 294,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 282,
                            "end": 286,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 287,
                            "end": 294,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 13
                              },
                              "end": {
                                "line": 10,
                                "column": 20
                              },
                              "identifierName": "session"
                            },
                            "name": "session"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 297,
                          "end": 304,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 23
                            },
                            "end": {
                              "line": 10,
                              "column": 30
                            },
                            "identifierName": "session"
                          },
                          "name": "session"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 314,
                      "end": 345,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 8
                        },
                        "end": {
                          "line": 11,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 314,
                        "end": 344,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 8
                          },
                          "end": {
                            "line": 11,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 314,
                          "end": 328,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 8
                            },
                            "end": {
                              "line": 11,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 314,
                            "end": 318,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 8
                              },
                              "end": {
                                "line": 11,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 319,
                            "end": 328,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 13
                              },
                              "end": {
                                "line": 11,
                                "column": 22
                              },
                              "identifierName": "temporary"
                            },
                            "name": "temporary"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 331,
                          "end": 344,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 25
                            },
                            "end": {
                              "line": 11,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 335,
                            "end": 342,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 29
                              },
                              "end": {
                                "line": 11,
                                "column": 36
                              },
                              "identifierName": "Object3"
                            },
                            "name": "Object3"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 354,
                      "end": 399,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 354,
                        "end": 398,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 8
                          },
                          "end": {
                            "line": 12,
                            "column": 52
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 354,
                          "end": 390,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 354,
                            "end": 368,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 354,
                              "end": 358,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 8
                                },
                                "end": {
                                  "line": 12,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 359,
                              "end": 368,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 13
                                },
                                "end": {
                                  "line": 12,
                                  "column": 22
                                },
                                "identifierName": "temporary"
                              },
                              "name": "temporary"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 369,
                            "end": 390,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 23
                              },
                              "end": {
                                "line": 12,
                                "column": 44
                              },
                              "identifierName": "updateParentMaterials"
                            },
                            "name": "updateParentMaterials"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 393,
                          "end": 398,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 47
                            },
                            "end": {
                              "line": 12,
                              "column": 52
                            }
                          },
                          "value": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 408,
                      "end": 442,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 408,
                        "end": 441,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 408,
                          "end": 433,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 408,
                            "end": 422,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 408,
                              "end": 412,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 8
                                },
                                "end": {
                                  "line": 13,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 413,
                              "end": 422,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 13
                                },
                                "end": {
                                  "line": 13,
                                  "column": 22
                                },
                                "identifierName": "temporary"
                              },
                              "name": "temporary"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 423,
                            "end": 433,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 23
                              },
                              "end": {
                                "line": 13,
                                "column": 33
                              },
                              "identifierName": "measurable"
                            },
                            "name": "measurable"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 436,
                          "end": 441,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 36
                            },
                            "end": {
                              "line": 13,
                              "column": 41
                            }
                          },
                          "value": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 451,
                      "end": 477,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 451,
                        "end": 476,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 451,
                          "end": 460,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "Super",
                            "start": 451,
                            "end": 456,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 13
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 457,
                            "end": 460,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 14
                              },
                              "end": {
                                "line": 14,
                                "column": 17
                              },
                              "identifierName": "add"
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 461,
                            "end": 475,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 18
                              },
                              "end": {
                                "line": 14,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 461,
                              "end": 465,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 18
                                },
                                "end": {
                                  "line": 14,
                                  "column": 22
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 466,
                              "end": 475,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 23
                                },
                                "end": {
                                  "line": 14,
                                  "column": 32
                                },
                                "identifierName": "temporary"
                              },
                              "name": "temporary"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 489,
                "end": 520,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 4
                  },
                  "end": {
                    "line": 19,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 489,
                  "end": 495,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 4
                    },
                    "end": {
                      "line": 17,
                      "column": 10
                    },
                    "identifierName": "update"
                  },
                  "name": "update"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 498,
                  "end": 520,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 13
                    },
                    "end": {
                      "line": 19,
                      "column": 5
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "innerComments": [
                    {
                      "type": "CommentLine",
                      "value": " ...",
                      "start": 508,
                      "end": 514,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 14
                        }
                      }
                    }
                  ]
                }
              }
            ]
          },
          "leadingComments": [],
          "trailingComments": []
        }
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 524,
        "end": 1277,
        "loc": {
          "start": {
            "line": 22,
            "column": 0
          },
          "end": {
            "line": 40,
            "column": 1
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "ClassDeclaration",
          "start": 531,
          "end": 1277,
          "loc": {
            "start": {
              "line": 22,
              "column": 7
            },
            "end": {
              "line": 40,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 537,
            "end": 552,
            "loc": {
              "start": {
                "line": 22,
                "column": 13
              },
              "end": {
                "line": 22,
                "column": 28
              },
              "identifierName": "ObjectPrototype"
            },
            "name": "ObjectPrototype"
          },
          "superClass": {
            "type": "Identifier",
            "start": 561,
            "end": 568,
            "loc": {
              "start": {
                "line": 22,
                "column": 37
              },
              "end": {
                "line": 22,
                "column": 44
              },
              "identifierName": "Object3"
            },
            "name": "Object3"
          },
          "body": {
            "type": "ClassBody",
            "start": 569,
            "end": 1277,
            "loc": {
              "start": {
                "line": 22,
                "column": 45
              },
              "end": {
                "line": 40,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 575,
                "end": 1275,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 4
                  },
                  "end": {
                    "line": 39,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 575,
                  "end": 586,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 4
                    },
                    "end": {
                      "line": 23,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "ObjectPattern",
                    "start": 587,
                    "end": 598,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 16
                      },
                      "end": {
                        "line": 23,
                        "column": 27
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 589,
                        "end": 596,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 18
                          },
                          "end": {
                            "line": 23,
                            "column": 25
                          }
                        },
                        "method": false,
                        "shorthand": true,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 589,
                          "end": 596,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 18
                            },
                            "end": {
                              "line": 23,
                              "column": 25
                            },
                            "identifierName": "session"
                          },
                          "name": "session"
                        },
                        "value": {
                          "type": "Identifier",
                          "start": 589,
                          "end": 596,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 18
                            },
                            "end": {
                              "line": 23,
                              "column": 25
                            },
                            "identifierName": "session"
                          },
                          "name": "session"
                        },
                        "extra": {
                          "shorthand": true
                        }
                      }
                    ]
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 600,
                  "end": 1275,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 29
                    },
                    "end": {
                      "line": 39,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 610,
                      "end": 618,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 610,
                        "end": 617,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 8
                          },
                          "end": {
                            "line": 24,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 610,
                          "end": 615,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 627,
                      "end": 1269,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 38,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 627,
                        "end": 1268,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 8
                          },
                          "end": {
                            "line": 38,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 627,
                          "end": 634,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 25,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 627,
                            "end": 631,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 8
                              },
                              "end": {
                                "line": 25,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 632,
                            "end": 634,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 13
                              },
                              "end": {
                                "line": 25,
                                "column": 15
                              },
                              "identifierName": "on"
                            },
                            "name": "on"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 635,
                            "end": 1267,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 16
                              },
                              "end": {
                                "line": 38,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 649,
                                "end": 1257,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 54
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": true,
                                "key": {
                                  "type": "MemberExpression",
                                  "start": 650,
                                  "end": 685,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 650,
                                    "end": 674,
                                    "loc": {
                                      "start": {
                                        "line": 26,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 26,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 650,
                                      "end": 664,
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 650,
                                        "end": 657,
                                        "loc": {
                                          "start": {
                                            "line": 26,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 26,
                                            "column": 20
                                          },
                                          "identifierName": "Object3"
                                        },
                                        "name": "Object3"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 658,
                                        "end": 664,
                                        "loc": {
                                          "start": {
                                            "line": 26,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 26,
                                            "column": 27
                                          },
                                          "identifierName": "Events"
                                        },
                                        "name": "Events"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 665,
                                      "end": 674,
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 37
                                        },
                                        "identifierName": "Lifecycle"
                                      },
                                      "name": "Lifecycle"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 675,
                                    "end": 685,
                                    "loc": {
                                      "start": {
                                        "line": 26,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 26,
                                        "column": 48
                                      },
                                      "identifierName": "ChildAdded"
                                    },
                                    "name": "ChildAdded"
                                  },
                                  "computed": false
                                },
                                "value": {
                                  "type": "ArrowFunctionExpression",
                                  "start": 688,
                                  "end": 1257,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 54
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "ObjectPattern",
                                      "start": 689,
                                      "end": 698,
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 61
                                        }
                                      },
                                      "properties": [
                                        {
                                          "type": "ObjectProperty",
                                          "start": 691,
                                          "end": 696,
                                          "loc": {
                                            "start": {
                                              "line": 26,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 26,
                                              "column": 59
                                            }
                                          },
                                          "method": false,
                                          "shorthand": true,
                                          "computed": false,
                                          "key": {
                                            "type": "Identifier",
                                            "start": 691,
                                            "end": 696,
                                            "loc": {
                                              "start": {
                                                "line": 26,
                                                "column": 54
                                              },
                                              "end": {
                                                "line": 26,
                                                "column": 59
                                              },
                                              "identifierName": "child"
                                            },
                                            "name": "child"
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "start": 691,
                                            "end": 696,
                                            "loc": {
                                              "start": {
                                                "line": 26,
                                                "column": 54
                                              },
                                              "end": {
                                                "line": 26,
                                                "column": 59
                                              },
                                              "identifierName": "child"
                                            },
                                            "name": "child"
                                          },
                                          "extra": {
                                            "shorthand": true
                                          }
                                        }
                                      ]
                                    }
                                  ],
                                  "body": {
                                    "type": "CallExpression",
                                    "start": 719,
                                    "end": 1257,
                                    "loc": {
                                      "start": {
                                        "line": 27,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 54
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 719,
                                      "end": 1241,
                                      "loc": {
                                        "start": {
                                          "line": 27,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 38
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 719,
                                        "end": 1234,
                                        "loc": {
                                          "start": {
                                            "line": 27,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 31
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 719,
                                          "end": 1229,
                                          "loc": {
                                            "start": {
                                              "line": 27,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 37,
                                              "column": 26
                                            }
                                          },
                                          "object": {
                                            "type": "CallExpression",
                                            "start": 719,
                                            "end": 1202,
                                            "loc": {
                                              "start": {
                                                "line": 27,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 36,
                                                "column": 23
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 719,
                                              "end": 1065,
                                              "loc": {
                                                "start": {
                                                  "line": 27,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 33,
                                                  "column": 25
                                                }
                                              },
                                              "object": {
                                                "type": "CallExpression",
                                                "start": 719,
                                                "end": 1039,
                                                "loc": {
                                                  "start": {
                                                    "line": 27,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 32,
                                                    "column": 23
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 719,
                                                  "end": 771,
                                                  "loc": {
                                                    "start": {
                                                      "line": 27,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 28,
                                                      "column": 28
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "CallExpression",
                                                    "start": 719,
                                                    "end": 742,
                                                    "loc": {
                                                      "start": {
                                                        "line": 27,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 27,
                                                        "column": 39
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 719,
                                                      "end": 740,
                                                      "loc": {
                                                        "start": {
                                                          "line": 27,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 27,
                                                          "column": 37
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 719,
                                                        "end": 724,
                                                        "loc": {
                                                          "start": {
                                                            "line": 27,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 27,
                                                            "column": 21
                                                          },
                                                          "identifierName": "child"
                                                        },
                                                        "name": "child"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 725,
                                                        "end": 740,
                                                        "loc": {
                                                          "start": {
                                                            "line": 27,
                                                            "column": 22
                                                          },
                                                          "end": {
                                                            "line": 27,
                                                            "column": 37
                                                          },
                                                          "identifierName": "updateMaterials"
                                                        },
                                                        "name": "updateMaterials"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": []
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 764,
                                                    "end": 771,
                                                    "loc": {
                                                      "start": {
                                                        "line": 28,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 28,
                                                        "column": 28
                                                      },
                                                      "identifierName": "animate"
                                                    },
                                                    "name": "animate"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "ObjectExpression",
                                                    "start": 772,
                                                    "end": 1038,
                                                    "loc": {
                                                      "start": {
                                                        "line": 28,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 32,
                                                        "column": 22
                                                      }
                                                    },
                                                    "properties": [
                                                      {
                                                        "type": "ObjectProperty",
                                                        "start": 774,
                                                        "end": 1037,
                                                        "loc": {
                                                          "start": {
                                                            "line": 28,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 32,
                                                            "column": 21
                                                          }
                                                        },
                                                        "method": false,
                                                        "shorthand": false,
                                                        "computed": false,
                                                        "key": {
                                                          "type": "Identifier",
                                                          "start": 774,
                                                          "end": 783,
                                                          "loc": {
                                                            "start": {
                                                              "line": 28,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 28,
                                                              "column": 40
                                                            },
                                                            "identifierName": "materials"
                                                          },
                                                          "name": "materials"
                                                        },
                                                        "value": {
                                                          "type": "ObjectExpression",
                                                          "start": 785,
                                                          "end": 1037,
                                                          "loc": {
                                                            "start": {
                                                              "line": 28,
                                                              "column": 42
                                                            },
                                                            "end": {
                                                              "line": 32,
                                                              "column": 21
                                                            }
                                                          },
                                                          "properties": [
                                                            {
                                                              "type": "ObjectProperty",
                                                              "start": 811,
                                                              "end": 835,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 29,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 29,
                                                                  "column": 48
                                                                }
                                                              },
                                                              "method": false,
                                                              "shorthand": false,
                                                              "computed": false,
                                                              "key": {
                                                                "type": "Identifier",
                                                                "start": 811,
                                                                "end": 817,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 29,
                                                                    "column": 24
                                                                  },
                                                                  "end": {
                                                                    "line": 29,
                                                                    "column": 30
                                                                  },
                                                                  "identifierName": "meshes"
                                                                },
                                                                "name": "meshes"
                                                              },
                                                              "value": {
                                                                "type": "ArrayExpression",
                                                                "start": 819,
                                                                "end": 835,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 29,
                                                                    "column": 32
                                                                  },
                                                                  "end": {
                                                                    "line": 29,
                                                                    "column": 48
                                                                  }
                                                                },
                                                                "elements": [
                                                                  {
                                                                    "type": "ObjectExpression",
                                                                    "start": 820,
                                                                    "end": 834,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 29,
                                                                        "column": 33
                                                                      },
                                                                      "end": {
                                                                        "line": 29,
                                                                        "column": 47
                                                                      }
                                                                    },
                                                                    "properties": [
                                                                      {
                                                                        "type": "ObjectProperty",
                                                                        "start": 822,
                                                                        "end": 832,
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 29,
                                                                            "column": 35
                                                                          },
                                                                          "end": {
                                                                            "line": 29,
                                                                            "column": 45
                                                                          }
                                                                        },
                                                                        "method": false,
                                                                        "shorthand": false,
                                                                        "computed": false,
                                                                        "key": {
                                                                          "type": "Identifier",
                                                                          "start": 822,
                                                                          "end": 829,
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 29,
                                                                              "column": 35
                                                                            },
                                                                            "end": {
                                                                              "line": 29,
                                                                              "column": 42
                                                                            },
                                                                            "identifierName": "opacity"
                                                                          },
                                                                          "name": "opacity"
                                                                        },
                                                                        "value": {
                                                                          "type": "NumericLiteral",
                                                                          "start": 831,
                                                                          "end": 832,
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 29,
                                                                              "column": 44
                                                                            },
                                                                            "end": {
                                                                              "line": 29,
                                                                              "column": 45
                                                                            }
                                                                          },
                                                                          "extra": {
                                                                            "rawValue": 1,
                                                                            "raw": "1"
                                                                          },
                                                                          "value": 1
                                                                        }
                                                                      }
                                                                    ]
                                                                  }
                                                                ]
                                                              }
                                                            },
                                                            {
                                                              "type": "ObjectProperty",
                                                              "start": 861,
                                                              "end": 1015,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 30,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 31,
                                                                  "column": 72
                                                                }
                                                              },
                                                              "method": false,
                                                              "shorthand": false,
                                                              "computed": false,
                                                              "key": {
                                                                "type": "Identifier",
                                                                "start": 861,
                                                                "end": 866,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 30,
                                                                    "column": 24
                                                                  },
                                                                  "end": {
                                                                    "line": 30,
                                                                    "column": 29
                                                                  },
                                                                  "identifierName": "lines"
                                                                },
                                                                "name": "lines"
                                                              },
                                                              "value": {
                                                                "type": "ArrayExpression",
                                                                "start": 868,
                                                                "end": 1015,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 30,
                                                                    "column": 31
                                                                  },
                                                                  "end": {
                                                                    "line": 31,
                                                                    "column": 72
                                                                  }
                                                                },
                                                                "elements": [
                                                                  {
                                                                    "type": "ObjectExpression",
                                                                    "start": 869,
                                                                    "end": 1014,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 30,
                                                                        "column": 32
                                                                      },
                                                                      "end": {
                                                                        "line": 31,
                                                                        "column": 71
                                                                      }
                                                                    },
                                                                    "properties": [
                                                                      {
                                                                        "type": "ObjectProperty",
                                                                        "start": 871,
                                                                        "end": 1012,
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 30,
                                                                            "column": 34
                                                                          },
                                                                          "end": {
                                                                            "line": 31,
                                                                            "column": 69
                                                                          }
                                                                        },
                                                                        "method": false,
                                                                        "shorthand": false,
                                                                        "computed": false,
                                                                        "key": {
                                                                          "type": "Identifier",
                                                                          "start": 871,
                                                                          "end": 878,
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 30,
                                                                              "column": 34
                                                                            },
                                                                            "end": {
                                                                              "line": 30,
                                                                              "column": 41
                                                                            },
                                                                            "identifierName": "opacity"
                                                                          },
                                                                          "name": "opacity"
                                                                        },
                                                                        "value": {
                                                                          "type": "ConditionalExpression",
                                                                          "start": 880,
                                                                          "end": 1012,
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 30,
                                                                              "column": 43
                                                                            },
                                                                            "end": {
                                                                              "line": 31,
                                                                              "column": 69
                                                                            }
                                                                          },
                                                                          "test": {
                                                                            "type": "BinaryExpression",
                                                                            "start": 880,
                                                                            "end": 940,
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 30,
                                                                                "column": 43
                                                                              },
                                                                              "end": {
                                                                                "line": 30,
                                                                                "column": 103
                                                                              }
                                                                            },
                                                                            "left": {
                                                                              "type": "UnaryExpression",
                                                                              "start": 880,
                                                                              "end": 924,
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 30,
                                                                                  "column": 43
                                                                                },
                                                                                "end": {
                                                                                  "line": 30,
                                                                                  "column": 87
                                                                                }
                                                                              },
                                                                              "operator": "typeof",
                                                                              "prefix": true,
                                                                              "argument": {
                                                                                "type": "MemberExpression",
                                                                                "start": 887,
                                                                                "end": 924,
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 30,
                                                                                    "column": 50
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 30,
                                                                                    "column": 87
                                                                                  }
                                                                                },
                                                                                "object": {
                                                                                  "type": "MemberExpression",
                                                                                  "start": 887,
                                                                                  "end": 912,
                                                                                  "loc": {
                                                                                    "start": {
                                                                                      "line": 30,
                                                                                      "column": 50
                                                                                    },
                                                                                    "end": {
                                                                                      "line": 30,
                                                                                      "column": 75
                                                                                    }
                                                                                  },
                                                                                  "object": {
                                                                                    "type": "MemberExpression",
                                                                                    "start": 887,
                                                                                    "end": 902,
                                                                                    "loc": {
                                                                                      "start": {
                                                                                        "line": 30,
                                                                                        "column": 50
                                                                                      },
                                                                                      "end": {
                                                                                        "line": 30,
                                                                                        "column": 65
                                                                                      }
                                                                                    },
                                                                                    "object": {
                                                                                      "type": "Identifier",
                                                                                      "start": 887,
                                                                                      "end": 894,
                                                                                      "loc": {
                                                                                        "start": {
                                                                                          "line": 30,
                                                                                          "column": 50
                                                                                        },
                                                                                        "end": {
                                                                                          "line": 30,
                                                                                          "column": 57
                                                                                        },
                                                                                        "identifierName": "session"
                                                                                      },
                                                                                      "name": "session"
                                                                                    },
                                                                                    "property": {
                                                                                      "type": "Identifier",
                                                                                      "start": 895,
                                                                                      "end": 902,
                                                                                      "loc": {
                                                                                        "start": {
                                                                                          "line": 30,
                                                                                          "column": 58
                                                                                        },
                                                                                        "end": {
                                                                                          "line": 30,
                                                                                          "column": 65
                                                                                        },
                                                                                        "identifierName": "options"
                                                                                      },
                                                                                      "name": "options"
                                                                                    },
                                                                                    "computed": false
                                                                                  },
                                                                                  "property": {
                                                                                    "type": "Identifier",
                                                                                    "start": 903,
                                                                                    "end": 912,
                                                                                    "loc": {
                                                                                      "start": {
                                                                                        "line": 30,
                                                                                        "column": 66
                                                                                      },
                                                                                      "end": {
                                                                                        "line": 30,
                                                                                        "column": 75
                                                                                      },
                                                                                      "identifierName": "materials"
                                                                                    },
                                                                                    "name": "materials"
                                                                                  },
                                                                                  "computed": false
                                                                                },
                                                                                "property": {
                                                                                  "type": "Identifier",
                                                                                  "start": 913,
                                                                                  "end": 924,
                                                                                  "loc": {
                                                                                    "start": {
                                                                                      "line": 30,
                                                                                      "column": 76
                                                                                    },
                                                                                    "end": {
                                                                                      "line": 30,
                                                                                      "column": 87
                                                                                    },
                                                                                    "identifierName": "edgeOpacity"
                                                                                  },
                                                                                  "name": "edgeOpacity"
                                                                                },
                                                                                "computed": false
                                                                              },
                                                                              "extra": {
                                                                                "parenthesizedArgument": false
                                                                              }
                                                                            },
                                                                            "operator": "!==",
                                                                            "right": {
                                                                              "type": "StringLiteral",
                                                                              "start": 929,
                                                                              "end": 940,
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 30,
                                                                                  "column": 92
                                                                                },
                                                                                "end": {
                                                                                  "line": 30,
                                                                                  "column": 103
                                                                                }
                                                                              },
                                                                              "extra": {
                                                                                "rawValue": "undefined",
                                                                                "raw": "\"undefined\""
                                                                              },
                                                                              "value": "undefined"
                                                                            }
                                                                          },
                                                                          "consequent": {
                                                                            "type": "MemberExpression",
                                                                            "start": 971,
                                                                            "end": 1008,
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 31,
                                                                                "column": 28
                                                                              },
                                                                              "end": {
                                                                                "line": 31,
                                                                                "column": 65
                                                                              }
                                                                            },
                                                                            "object": {
                                                                              "type": "MemberExpression",
                                                                              "start": 971,
                                                                              "end": 996,
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 31,
                                                                                  "column": 28
                                                                                },
                                                                                "end": {
                                                                                  "line": 31,
                                                                                  "column": 53
                                                                                }
                                                                              },
                                                                              "object": {
                                                                                "type": "MemberExpression",
                                                                                "start": 971,
                                                                                "end": 986,
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 31,
                                                                                    "column": 28
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 31,
                                                                                    "column": 43
                                                                                  }
                                                                                },
                                                                                "object": {
                                                                                  "type": "Identifier",
                                                                                  "start": 971,
                                                                                  "end": 978,
                                                                                  "loc": {
                                                                                    "start": {
                                                                                      "line": 31,
                                                                                      "column": 28
                                                                                    },
                                                                                    "end": {
                                                                                      "line": 31,
                                                                                      "column": 35
                                                                                    },
                                                                                    "identifierName": "session"
                                                                                  },
                                                                                  "name": "session"
                                                                                },
                                                                                "property": {
                                                                                  "type": "Identifier",
                                                                                  "start": 979,
                                                                                  "end": 986,
                                                                                  "loc": {
                                                                                    "start": {
                                                                                      "line": 31,
                                                                                      "column": 36
                                                                                    },
                                                                                    "end": {
                                                                                      "line": 31,
                                                                                      "column": 43
                                                                                    },
                                                                                    "identifierName": "options"
                                                                                  },
                                                                                  "name": "options"
                                                                                },
                                                                                "computed": false
                                                                              },
                                                                              "property": {
                                                                                "type": "Identifier",
                                                                                "start": 987,
                                                                                "end": 996,
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 31,
                                                                                    "column": 44
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 31,
                                                                                    "column": 53
                                                                                  },
                                                                                  "identifierName": "materials"
                                                                                },
                                                                                "name": "materials"
                                                                              },
                                                                              "computed": false
                                                                            },
                                                                            "property": {
                                                                              "type": "Identifier",
                                                                              "start": 997,
                                                                              "end": 1008,
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 31,
                                                                                  "column": 54
                                                                                },
                                                                                "end": {
                                                                                  "line": 31,
                                                                                  "column": 65
                                                                                },
                                                                                "identifierName": "edgeOpacity"
                                                                              },
                                                                              "name": "edgeOpacity"
                                                                            },
                                                                            "computed": false
                                                                          },
                                                                          "alternate": {
                                                                            "type": "NumericLiteral",
                                                                            "start": 1011,
                                                                            "end": 1012,
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 31,
                                                                                "column": 68
                                                                              },
                                                                              "end": {
                                                                                "line": 31,
                                                                                "column": 69
                                                                              }
                                                                            },
                                                                            "extra": {
                                                                              "rawValue": 1,
                                                                              "raw": "1"
                                                                            },
                                                                            "value": 1
                                                                          }
                                                                        }
                                                                      }
                                                                    ]
                                                                  }
                                                                ]
                                                              }
                                                            }
                                                          ]
                                                        }
                                                      }
                                                    ]
                                                  }
                                                ]
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 1061,
                                                "end": 1065,
                                                "loc": {
                                                  "start": {
                                                    "line": 33,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 33,
                                                    "column": 25
                                                  },
                                                  "identifierName": "from"
                                                },
                                                "name": "from"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ObjectExpression",
                                                "start": 1066,
                                                "end": 1201,
                                                "loc": {
                                                  "start": {
                                                    "line": 33,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 36,
                                                    "column": 22
                                                  }
                                                },
                                                "properties": [
                                                  {
                                                    "type": "ObjectProperty",
                                                    "start": 1068,
                                                    "end": 1200,
                                                    "loc": {
                                                      "start": {
                                                        "line": 33,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 36,
                                                        "column": 21
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 1068,
                                                      "end": 1077,
                                                      "loc": {
                                                        "start": {
                                                          "line": 33,
                                                          "column": 28
                                                        },
                                                        "end": {
                                                          "line": 33,
                                                          "column": 37
                                                        },
                                                        "identifierName": "materials"
                                                      },
                                                      "name": "materials"
                                                    },
                                                    "value": {
                                                      "type": "ObjectExpression",
                                                      "start": 1079,
                                                      "end": 1200,
                                                      "loc": {
                                                        "start": {
                                                          "line": 33,
                                                          "column": 39
                                                        },
                                                        "end": {
                                                          "line": 36,
                                                          "column": 21
                                                        }
                                                      },
                                                      "properties": [
                                                        {
                                                          "type": "ObjectProperty",
                                                          "start": 1105,
                                                          "end": 1129,
                                                          "loc": {
                                                            "start": {
                                                              "line": 34,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 34,
                                                              "column": 48
                                                            }
                                                          },
                                                          "method": false,
                                                          "shorthand": false,
                                                          "computed": false,
                                                          "key": {
                                                            "type": "Identifier",
                                                            "start": 1105,
                                                            "end": 1111,
                                                            "loc": {
                                                              "start": {
                                                                "line": 34,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 34,
                                                                "column": 30
                                                              },
                                                              "identifierName": "meshes"
                                                            },
                                                            "name": "meshes"
                                                          },
                                                          "value": {
                                                            "type": "ArrayExpression",
                                                            "start": 1113,
                                                            "end": 1129,
                                                            "loc": {
                                                              "start": {
                                                                "line": 34,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 34,
                                                                "column": 48
                                                              }
                                                            },
                                                            "elements": [
                                                              {
                                                                "type": "ObjectExpression",
                                                                "start": 1114,
                                                                "end": 1128,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 34,
                                                                    "column": 33
                                                                  },
                                                                  "end": {
                                                                    "line": 34,
                                                                    "column": 47
                                                                  }
                                                                },
                                                                "properties": [
                                                                  {
                                                                    "type": "ObjectProperty",
                                                                    "start": 1116,
                                                                    "end": 1126,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 34,
                                                                        "column": 35
                                                                      },
                                                                      "end": {
                                                                        "line": 34,
                                                                        "column": 45
                                                                      }
                                                                    },
                                                                    "method": false,
                                                                    "shorthand": false,
                                                                    "computed": false,
                                                                    "key": {
                                                                      "type": "Identifier",
                                                                      "start": 1116,
                                                                      "end": 1123,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 34,
                                                                          "column": 35
                                                                        },
                                                                        "end": {
                                                                          "line": 34,
                                                                          "column": 42
                                                                        },
                                                                        "identifierName": "opacity"
                                                                      },
                                                                      "name": "opacity"
                                                                    },
                                                                    "value": {
                                                                      "type": "NumericLiteral",
                                                                      "start": 1125,
                                                                      "end": 1126,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 34,
                                                                          "column": 44
                                                                        },
                                                                        "end": {
                                                                          "line": 34,
                                                                          "column": 45
                                                                        }
                                                                      },
                                                                      "extra": {
                                                                        "rawValue": 0,
                                                                        "raw": "0"
                                                                      },
                                                                      "value": 0
                                                                    }
                                                                  }
                                                                ]
                                                              }
                                                            ]
                                                          }
                                                        },
                                                        {
                                                          "type": "ObjectProperty",
                                                          "start": 1155,
                                                          "end": 1178,
                                                          "loc": {
                                                            "start": {
                                                              "line": 35,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 35,
                                                              "column": 47
                                                            }
                                                          },
                                                          "method": false,
                                                          "shorthand": false,
                                                          "computed": false,
                                                          "key": {
                                                            "type": "Identifier",
                                                            "start": 1155,
                                                            "end": 1160,
                                                            "loc": {
                                                              "start": {
                                                                "line": 35,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 35,
                                                                "column": 29
                                                              },
                                                              "identifierName": "lines"
                                                            },
                                                            "name": "lines"
                                                          },
                                                          "value": {
                                                            "type": "ArrayExpression",
                                                            "start": 1162,
                                                            "end": 1178,
                                                            "loc": {
                                                              "start": {
                                                                "line": 35,
                                                                "column": 31
                                                              },
                                                              "end": {
                                                                "line": 35,
                                                                "column": 47
                                                              }
                                                            },
                                                            "elements": [
                                                              {
                                                                "type": "ObjectExpression",
                                                                "start": 1163,
                                                                "end": 1177,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 35,
                                                                    "column": 32
                                                                  },
                                                                  "end": {
                                                                    "line": 35,
                                                                    "column": 46
                                                                  }
                                                                },
                                                                "properties": [
                                                                  {
                                                                    "type": "ObjectProperty",
                                                                    "start": 1165,
                                                                    "end": 1175,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 35,
                                                                        "column": 34
                                                                      },
                                                                      "end": {
                                                                        "line": 35,
                                                                        "column": 44
                                                                      }
                                                                    },
                                                                    "method": false,
                                                                    "shorthand": false,
                                                                    "computed": false,
                                                                    "key": {
                                                                      "type": "Identifier",
                                                                      "start": 1165,
                                                                      "end": 1172,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 35,
                                                                          "column": 34
                                                                        },
                                                                        "end": {
                                                                          "line": 35,
                                                                          "column": 41
                                                                        },
                                                                        "identifierName": "opacity"
                                                                      },
                                                                      "name": "opacity"
                                                                    },
                                                                    "value": {
                                                                      "type": "NumericLiteral",
                                                                      "start": 1174,
                                                                      "end": 1175,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 35,
                                                                          "column": 43
                                                                        },
                                                                        "end": {
                                                                          "line": 35,
                                                                          "column": 44
                                                                        }
                                                                      },
                                                                      "extra": {
                                                                        "rawValue": 0,
                                                                        "raw": "0"
                                                                      },
                                                                      "value": 0
                                                                    }
                                                                  }
                                                                ]
                                                              }
                                                            ]
                                                          }
                                                        }
                                                      ]
                                                    }
                                                  }
                                                ]
                                              }
                                            ]
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1224,
                                            "end": 1229,
                                            "loc": {
                                              "start": {
                                                "line": 37,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 37,
                                                "column": 26
                                              },
                                              "identifierName": "start"
                                            },
                                            "name": "start"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NumericLiteral",
                                            "start": 1230,
                                            "end": 1233,
                                            "loc": {
                                              "start": {
                                                "line": 37,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 37,
                                                "column": 30
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 200,
                                              "raw": "200"
                                            },
                                            "value": 200
                                          }
                                        ]
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1235,
                                        "end": 1241,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 38
                                          },
                                          "identifierName": "easing"
                                        },
                                        "name": "easing"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 1242,
                                        "end": 1256,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1242,
                                          "end": 1253,
                                          "loc": {
                                            "start": {
                                              "line": 37,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 37,
                                              "column": 50
                                            },
                                            "identifierName": "exponential"
                                          },
                                          "name": "exponential"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1254,
                                          "end": 1256,
                                          "loc": {
                                            "start": {
                                              "line": 37,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 37,
                                              "column": 53
                                            },
                                            "identifierName": "in"
                                          },
                                          "name": "in"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ],
            "trailingComments": null
          },
          "trailingComments": [
            {
              "type": "CommentLine",
              "value": " Packs ArrayBuffer into deflated base64 for ClassCAD stream consumption",
              "start": 1279,
              "end": 1352,
              "loc": {
                "start": {
                  "line": 42,
                  "column": 0
                },
                "end": {
                  "line": 42,
                  "column": 73
                }
              }
            }
          ],
          "leadingComments": []
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " Packs ArrayBuffer into deflated base64 for ClassCAD stream consumption",
            "start": 1279,
            "end": 1352,
            "loc": {
              "start": {
                "line": 42,
                "column": 0
              },
              "end": {
                "line": 42,
                "column": 73
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 1353,
        "end": 1434,
        "loc": {
          "start": {
            "line": 43,
            "column": 0
          },
          "end": {
            "line": 43,
            "column": 81
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "VariableDeclaration",
          "start": 1360,
          "end": 1434,
          "loc": {
            "start": {
              "line": 43,
              "column": 7
            },
            "end": {
              "line": 43,
              "column": 81
            }
          },
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 1366,
              "end": 1433,
              "loc": {
                "start": {
                  "line": 43,
                  "column": 13
                },
                "end": {
                  "line": 43,
                  "column": 80
                }
              },
              "id": {
                "type": "Identifier",
                "start": 1366,
                "end": 1370,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 13
                  },
                  "end": {
                    "line": 43,
                    "column": 17
                  },
                  "identifierName": "pack"
                },
                "name": "pack",
                "leadingComments": null
              },
              "init": {
                "type": "ArrowFunctionExpression",
                "start": 1373,
                "end": 1433,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 20
                  },
                  "end": {
                    "line": 43,
                    "column": 80
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 1366,
                  "end": 1370,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 13
                    },
                    "end": {
                      "line": 43,
                      "column": 17
                    },
                    "identifierName": "pack"
                  },
                  "name": "pack",
                  "leadingComments": null
                },
                "generator": false,
                "expression": true,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1373,
                    "end": 1379,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 20
                      },
                      "end": {
                        "line": 43,
                        "column": 26
                      },
                      "identifierName": "buffer"
                    },
                    "name": "buffer"
                  }
                ],
                "body": {
                  "type": "CallExpression",
                  "start": 1383,
                  "end": 1433,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 30
                    },
                    "end": {
                      "line": 43,
                      "column": 80
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 1383,
                    "end": 1396,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 30
                      },
                      "end": {
                        "line": 43,
                        "column": 43
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1383,
                      "end": 1389,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 30
                        },
                        "end": {
                          "line": 43,
                          "column": 36
                        },
                        "identifierName": "base64"
                      },
                      "name": "base64"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1390,
                      "end": 1396,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 37
                        },
                        "end": {
                          "line": 43,
                          "column": 43
                        },
                        "identifierName": "encode"
                      },
                      "name": "encode"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "CallExpression",
                      "start": 1397,
                      "end": 1432,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 44
                        },
                        "end": {
                          "line": 43,
                          "column": 79
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1397,
                        "end": 1409,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 44
                          },
                          "end": {
                            "line": 43,
                            "column": 56
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1397,
                          "end": 1401,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 44
                            },
                            "end": {
                              "line": 43,
                              "column": 48
                            },
                            "identifierName": "pako"
                          },
                          "name": "pako"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1402,
                          "end": 1409,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 49
                            },
                            "end": {
                              "line": 43,
                              "column": 56
                            },
                            "identifierName": "deflate"
                          },
                          "name": "deflate"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 1410,
                          "end": 1416,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 57
                            },
                            "end": {
                              "line": 43,
                              "column": 63
                            },
                            "identifierName": "buffer"
                          },
                          "name": "buffer"
                        },
                        {
                          "type": "ObjectExpression",
                          "start": 1418,
                          "end": 1431,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 65
                            },
                            "end": {
                              "line": 43,
                              "column": 78
                            }
                          },
                          "properties": [
                            {
                              "type": "ObjectProperty",
                              "start": 1420,
                              "end": 1429,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 67
                                },
                                "end": {
                                  "line": 43,
                                  "column": 76
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1420,
                                "end": 1423,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 70
                                  },
                                  "identifierName": "raw"
                                },
                                "name": "raw"
                              },
                              "value": {
                                "type": "BooleanLiteral",
                                "start": 1425,
                                "end": 1429,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 76
                                  }
                                },
                                "value": true
                              }
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": null
            }
          ],
          "kind": "const",
          "leadingComments": [
            {
              "type": "CommentLine",
              "value": " Packs ArrayBuffer into deflated base64 for ClassCAD stream consumption",
              "start": 1279,
              "end": 1352,
              "loc": {
                "start": {
                  "line": 42,
                  "column": 0
                },
                "end": {
                  "line": 42,
                  "column": 73
                }
              }
            }
          ],
          "trailingComments": [
            {
              "type": "CommentLine",
              "value": " Helps detecting changes in two array-states",
              "start": 1436,
              "end": 1482,
              "loc": {
                "start": {
                  "line": 45,
                  "column": 0
                },
                "end": {
                  "line": 45,
                  "column": 46
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Packs ArrayBuffer into deflated base64 for ClassCAD stream consumption",
            "start": 1279,
            "end": 1352,
            "loc": {
              "start": {
                "line": 42,
                "column": 0
              },
              "end": {
                "line": 42,
                "column": 73
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " Helps detecting changes in two array-states",
            "start": 1436,
            "end": 1482,
            "loc": {
              "start": {
                "line": 45,
                "column": 0
              },
              "end": {
                "line": 45,
                "column": 46
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 1483,
        "end": 2267,
        "loc": {
          "start": {
            "line": 46,
            "column": 0
          },
          "end": {
            "line": 72,
            "column": 1
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "VariableDeclaration",
          "start": 1490,
          "end": 2267,
          "loc": {
            "start": {
              "line": 46,
              "column": 7
            },
            "end": {
              "line": 72,
              "column": 1
            }
          },
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 1496,
              "end": 2267,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 13
                },
                "end": {
                  "line": 72,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 1496,
                "end": 1505,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 13
                  },
                  "end": {
                    "line": 46,
                    "column": 22
                  },
                  "identifierName": "arrayDiff"
                },
                "name": "arrayDiff",
                "leadingComments": null
              },
              "init": {
                "type": "ArrowFunctionExpression",
                "start": 1508,
                "end": 2267,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 25
                  },
                  "end": {
                    "line": 72,
                    "column": 1
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 1496,
                  "end": 1505,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 13
                    },
                    "end": {
                      "line": 46,
                      "column": 22
                    },
                    "identifierName": "arrayDiff"
                  },
                  "name": "arrayDiff",
                  "leadingComments": null
                },
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 1509,
                    "end": 1518,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 26
                      },
                      "end": {
                        "line": 46,
                        "column": 35
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 1509,
                      "end": 1513,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 26
                        },
                        "end": {
                          "line": 46,
                          "column": 30
                        },
                        "identifierName": "next"
                      },
                      "name": "next"
                    },
                    "right": {
                      "type": "ArrayExpression",
                      "start": 1516,
                      "end": 1518,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 33
                        },
                        "end": {
                          "line": 46,
                          "column": 35
                        }
                      },
                      "elements": []
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 1520,
                    "end": 1532,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 37
                      },
                      "end": {
                        "line": 46,
                        "column": 49
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 1520,
                      "end": 1527,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 37
                        },
                        "end": {
                          "line": 46,
                          "column": 44
                        },
                        "identifierName": "current"
                      },
                      "name": "current"
                    },
                    "right": {
                      "type": "ArrayExpression",
                      "start": 1530,
                      "end": 1532,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 47
                        },
                        "end": {
                          "line": 46,
                          "column": 49
                        }
                      },
                      "elements": []
                    }
                  },
                  {
                    "type": "Identifier",
                    "start": 1534,
                    "end": 1545,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 51
                      },
                      "end": {
                        "line": 46,
                        "column": 62
                      },
                      "identifierName": "callbackNew"
                    },
                    "name": "callbackNew"
                  },
                  {
                    "type": "Identifier",
                    "start": 1547,
                    "end": 1562,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 64
                      },
                      "end": {
                        "line": 46,
                        "column": 79
                      },
                      "identifierName": "callbackDeleted"
                    },
                    "name": "callbackDeleted"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1567,
                  "end": 2267,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 84
                    },
                    "end": {
                      "line": 72,
                      "column": 1
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1573,
                      "end": 1601,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 4
                        },
                        "end": {
                          "line": 47,
                          "column": 32
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1577,
                          "end": 1600,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1577,
                            "end": 1584,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 15
                              },
                              "identifierName": "nextSet"
                            },
                            "name": "nextSet"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 1587,
                            "end": 1600,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 18
                              },
                              "end": {
                                "line": 47,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1591,
                              "end": 1594,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 22
                                },
                                "end": {
                                  "line": 47,
                                  "column": 25
                                },
                                "identifierName": "Set"
                              },
                              "name": "Set"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1595,
                                "end": 1599,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 30
                                  },
                                  "identifierName": "next"
                                },
                                "name": "next"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1606,
                      "end": 1640,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 4
                        },
                        "end": {
                          "line": 48,
                          "column": 38
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1610,
                          "end": 1639,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 37
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1610,
                            "end": 1620,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 18
                              },
                              "identifierName": "currentSet"
                            },
                            "name": "currentSet"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 1623,
                            "end": 1639,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 21
                              },
                              "end": {
                                "line": 48,
                                "column": 37
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1627,
                              "end": 1630,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 25
                                },
                                "end": {
                                  "line": 48,
                                  "column": 28
                                },
                                "identifierName": "Set"
                              },
                              "name": "Set"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1631,
                                "end": 1638,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 36
                                  },
                                  "identifierName": "current"
                                },
                                "name": "current"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1645,
                      "end": 1663,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 4
                        },
                        "end": {
                          "line": 49,
                          "column": 22
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1649,
                          "end": 1662,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 21
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1649,
                            "end": 1657,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 16
                              },
                              "identifierName": "promises"
                            },
                            "name": "promises"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 1660,
                            "end": 1662,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 19
                              },
                              "end": {
                                "line": 49,
                                "column": 21
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 1669,
                      "end": 1927,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 4
                        },
                        "end": {
                          "line": 59,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 1673,
                        "end": 1684,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 19
                          },
                          "identifierName": "callbackNew"
                        },
                        "name": "callbackNew"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1686,
                        "end": 1927,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 21
                          },
                          "end": {
                            "line": 59,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 1696,
                            "end": 1754,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 8
                              },
                              "end": {
                                "line": 52,
                                "column": 66
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 1700,
                                "end": 1753,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 65
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 1700,
                                  "end": 1708,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 20
                                    },
                                    "identifierName": "newItems"
                                  },
                                  "name": "newItems"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 1711,
                                  "end": 1753,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 65
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1711,
                                    "end": 1722,
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1711,
                                      "end": 1715,
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 27
                                        },
                                        "identifierName": "next"
                                      },
                                      "name": "next"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1716,
                                      "end": 1722,
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 34
                                        },
                                        "identifierName": "filter"
                                      },
                                      "name": "filter"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 1723,
                                      "end": 1752,
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 64
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 1723,
                                          "end": 1727,
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 39
                                            },
                                            "identifierName": "item"
                                          },
                                          "name": "item"
                                        }
                                      ],
                                      "body": {
                                        "type": "UnaryExpression",
                                        "start": 1731,
                                        "end": 1752,
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 64
                                          }
                                        },
                                        "operator": "!",
                                        "prefix": true,
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 1732,
                                          "end": 1752,
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 64
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1732,
                                            "end": 1746,
                                            "loc": {
                                              "start": {
                                                "line": 52,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 58
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 1732,
                                              "end": 1742,
                                              "loc": {
                                                "start": {
                                                  "line": 52,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 52,
                                                  "column": 54
                                                },
                                                "identifierName": "currentSet"
                                              },
                                              "name": "currentSet"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1743,
                                              "end": 1746,
                                              "loc": {
                                                "start": {
                                                  "line": 52,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 52,
                                                  "column": 58
                                                },
                                                "identifierName": "has"
                                              },
                                              "name": "has"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 1747,
                                              "end": 1751,
                                              "loc": {
                                                "start": {
                                                  "line": 52,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 52,
                                                  "column": 63
                                                },
                                                "identifierName": "item"
                                              },
                                              "name": "item"
                                            }
                                          ]
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 1763,
                            "end": 1921,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 9
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 1767,
                              "end": 1782,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 12
                                },
                                "end": {
                                  "line": 53,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1767,
                                "end": 1775,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 20
                                  },
                                  "identifierName": "newItems"
                                },
                                "name": "newItems"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1776,
                                "end": 1782,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 27
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 1784,
                              "end": 1921,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 29
                                },
                                "end": {
                                  "line": 58,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 1798,
                                  "end": 1834,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 48
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 1802,
                                      "end": 1833,
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 47
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 1802,
                                        "end": 1809,
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 23
                                          },
                                          "identifierName": "results"
                                        },
                                        "name": "results"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 1812,
                                        "end": 1833,
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 47
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 1812,
                                          "end": 1823,
                                          "loc": {
                                            "start": {
                                              "line": 54,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 54,
                                              "column": 37
                                            },
                                            "identifierName": "callbackNew"
                                          },
                                          "name": "callbackNew"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 1824,
                                            "end": 1832,
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 46
                                              },
                                              "identifierName": "newItems"
                                            },
                                            "name": "newItems"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "let"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 1847,
                                  "end": 1911,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 1851,
                                    "end": 1858,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 23
                                      },
                                      "identifierName": "results"
                                    },
                                    "name": "results"
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 1860,
                                    "end": 1911,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 1878,
                                        "end": 1897,
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 35
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 1878,
                                          "end": 1896,
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 34
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 1878,
                                            "end": 1886,
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 24
                                              },
                                              "identifierName": "promises"
                                            },
                                            "name": "promises"
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 1889,
                                            "end": 1896,
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 34
                                              },
                                              "identifierName": "results"
                                            },
                                            "name": "results"
                                          }
                                        }
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 1933,
                      "end": 2230,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 4
                        },
                        "end": {
                          "line": 69,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 1937,
                        "end": 1952,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 8
                          },
                          "end": {
                            "line": 61,
                            "column": 23
                          },
                          "identifierName": "callbackDeleted"
                        },
                        "name": "callbackDeleted"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1954,
                        "end": 2230,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 25
                          },
                          "end": {
                            "line": 69,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 1964,
                            "end": 2025,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 8
                              },
                              "end": {
                                "line": 62,
                                "column": 69
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 1968,
                                "end": 2025,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 69
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 1968,
                                  "end": 1980,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 24
                                    },
                                    "identifierName": "deletedItems"
                                  },
                                  "name": "deletedItems"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 1983,
                                  "end": 2025,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 69
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1983,
                                    "end": 1997,
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1983,
                                      "end": 1990,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 34
                                        },
                                        "identifierName": "current"
                                      },
                                      "name": "current"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1991,
                                      "end": 1997,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 41
                                        },
                                        "identifierName": "filter"
                                      },
                                      "name": "filter"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 1998,
                                      "end": 2024,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 68
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 1998,
                                          "end": 2002,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 46
                                            },
                                            "identifierName": "item"
                                          },
                                          "name": "item"
                                        }
                                      ],
                                      "body": {
                                        "type": "UnaryExpression",
                                        "start": 2006,
                                        "end": 2024,
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 68
                                          }
                                        },
                                        "operator": "!",
                                        "prefix": true,
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 2007,
                                          "end": 2024,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 68
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 2007,
                                            "end": 2018,
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 62
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2007,
                                              "end": 2014,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 58
                                                },
                                                "identifierName": "nextSet"
                                              },
                                              "name": "nextSet"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2015,
                                              "end": 2018,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 62
                                                },
                                                "identifierName": "has"
                                              },
                                              "name": "has"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 2019,
                                              "end": 2023,
                                              "loc": {
                                                "start": {
                                                  "line": 62,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 62,
                                                  "column": 67
                                                },
                                                "identifierName": "item"
                                              },
                                              "name": "item"
                                            }
                                          ]
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 2034,
                            "end": 2224,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 8
                              },
                              "end": {
                                "line": 68,
                                "column": 9
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 2038,
                              "end": 2057,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 12
                                },
                                "end": {
                                  "line": 63,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2038,
                                "end": 2050,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 24
                                  },
                                  "identifierName": "deletedItems"
                                },
                                "name": "deletedItems"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2051,
                                "end": 2057,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 31
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 2059,
                              "end": 2224,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 33
                                },
                                "end": {
                                  "line": 68,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 2073,
                                  "end": 2117,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 56
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 2077,
                                      "end": 2116,
                                      "loc": {
                                        "start": {
                                          "line": 64,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 64,
                                          "column": 55
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 2077,
                                        "end": 2084,
                                        "loc": {
                                          "start": {
                                            "line": 64,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 64,
                                            "column": 23
                                          },
                                          "identifierName": "results"
                                        },
                                        "name": "results"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 2087,
                                        "end": 2116,
                                        "loc": {
                                          "start": {
                                            "line": 64,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 64,
                                            "column": 55
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 2087,
                                          "end": 2102,
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 41
                                            },
                                            "identifierName": "callbackDeleted"
                                          },
                                          "name": "callbackDeleted"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 2103,
                                            "end": 2115,
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 54
                                              },
                                              "identifierName": "deletedItems"
                                            },
                                            "name": "deletedItems"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "let"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 2130,
                                  "end": 2214,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 2134,
                                    "end": 2141,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 23
                                      },
                                      "identifierName": "results"
                                    },
                                    "name": "results"
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 2143,
                                    "end": 2214,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 2161,
                                        "end": 2200,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 55
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2161,
                                          "end": 2199,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 54
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 2161,
                                            "end": 2169,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 24
                                              },
                                              "identifierName": "promises"
                                            },
                                            "name": "promises"
                                          },
                                          "right": {
                                            "type": "ArrayExpression",
                                            "start": 2172,
                                            "end": 2199,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 54
                                              }
                                            },
                                            "elements": [
                                              {
                                                "type": "SpreadElement",
                                                "start": 2174,
                                                "end": 2185,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 40
                                                  }
                                                },
                                                "argument": {
                                                  "type": "Identifier",
                                                  "start": 2177,
                                                  "end": 2185,
                                                  "loc": {
                                                    "start": {
                                                      "line": 66,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 66,
                                                      "column": 40
                                                    },
                                                    "identifierName": "promises"
                                                  },
                                                  "name": "promises"
                                                }
                                              },
                                              {
                                                "type": "SpreadElement",
                                                "start": 2187,
                                                "end": 2197,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 52
                                                  }
                                                },
                                                "argument": {
                                                  "type": "Identifier",
                                                  "start": 2190,
                                                  "end": 2197,
                                                  "loc": {
                                                    "start": {
                                                      "line": 66,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 66,
                                                      "column": 52
                                                    },
                                                    "identifierName": "results"
                                                  },
                                                  "name": "results"
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2236,
                      "end": 2265,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 4
                        },
                        "end": {
                          "line": 71,
                          "column": 33
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2243,
                        "end": 2264,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 11
                          },
                          "end": {
                            "line": 71,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2243,
                          "end": 2254,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 11
                            },
                            "end": {
                              "line": 71,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2243,
                            "end": 2250,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 11
                              },
                              "end": {
                                "line": 71,
                                "column": 18
                              },
                              "identifierName": "Promise"
                            },
                            "name": "Promise"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2251,
                            "end": 2254,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 19
                              },
                              "end": {
                                "line": 71,
                                "column": 22
                              },
                              "identifierName": "all"
                            },
                            "name": "all"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2255,
                            "end": 2263,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 23
                              },
                              "end": {
                                "line": 71,
                                "column": 31
                              },
                              "identifierName": "promises"
                            },
                            "name": "promises"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": null,
              "trailingComments": null
            }
          ],
          "kind": "const",
          "leadingComments": [
            {
              "type": "CommentLine",
              "value": " Helps detecting changes in two array-states",
              "start": 1436,
              "end": 1482,
              "loc": {
                "start": {
                  "line": 45,
                  "column": 0
                },
                "end": {
                  "line": 45,
                  "column": 46
                }
              }
            }
          ],
          "trailingComments": [
            {
              "type": "CommentLine",
              "value": " State observe with pre-select and user-select",
              "start": 2269,
              "end": 2317,
              "loc": {
                "start": {
                  "line": 74,
                  "column": 0
                },
                "end": {
                  "line": 74,
                  "column": 48
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Helps detecting changes in two array-states",
            "start": 1436,
            "end": 1482,
            "loc": {
              "start": {
                "line": 45,
                "column": 0
              },
              "end": {
                "line": 45,
                "column": 46
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " State observe with pre-select and user-select",
            "start": 2269,
            "end": 2317,
            "loc": {
              "start": {
                "line": 74,
                "column": 0
              },
              "end": {
                "line": 74,
                "column": 48
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 2318,
        "end": 4407,
        "loc": {
          "start": {
            "line": 75,
            "column": 0
          },
          "end": {
            "line": 127,
            "column": 2
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "VariableDeclaration",
          "start": 2325,
          "end": 4407,
          "loc": {
            "start": {
              "line": 75,
              "column": 7
            },
            "end": {
              "line": 127,
              "column": 2
            }
          },
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 2331,
              "end": 4406,
              "loc": {
                "start": {
                  "line": 75,
                  "column": 13
                },
                "end": {
                  "line": 127,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 2331,
                "end": 2345,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 13
                  },
                  "end": {
                    "line": 75,
                    "column": 27
                  },
                  "identifierName": "createObserver"
                },
                "name": "createObserver",
                "leadingComments": null
              },
              "init": {
                "type": "ArrowFunctionExpression",
                "start": 2348,
                "end": 4406,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 30
                  },
                  "end": {
                    "line": 127,
                    "column": 1
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 2331,
                  "end": 2345,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 13
                    },
                    "end": {
                      "line": 75,
                      "column": 27
                    },
                    "identifierName": "createObserver"
                  },
                  "name": "createObserver",
                  "leadingComments": null
                },
                "generator": false,
                "expression": true,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2349,
                    "end": 2354,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 31
                      },
                      "end": {
                        "line": 75,
                        "column": 36
                      },
                      "identifierName": "store"
                    },
                    "name": "store"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 2356,
                    "end": 2382,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 38
                      },
                      "end": {
                        "line": 75,
                        "column": 64
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2356,
                      "end": 2365,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 38
                        },
                        "end": {
                          "line": 75,
                          "column": 47
                        },
                        "identifierName": "preSelect"
                      },
                      "name": "preSelect"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 2368,
                      "end": 2382,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 50
                        },
                        "end": {
                          "line": 75,
                          "column": 64
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2368,
                        "end": 2373,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 50
                          },
                          "end": {
                            "line": 75,
                            "column": 55
                          },
                          "identifierName": "store"
                        },
                        "name": "store"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2374,
                        "end": 2382,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 56
                          },
                          "end": {
                            "line": 75,
                            "column": 64
                          },
                          "identifierName": "getState"
                        },
                        "name": "getState"
                      },
                      "computed": false
                    }
                  }
                ],
                "body": {
                  "type": "ArrowFunctionExpression",
                  "start": 2393,
                  "end": 4404,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 4
                    },
                    "end": {
                      "line": 126,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 2394,
                      "end": 2404,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 5
                        },
                        "end": {
                          "line": 76,
                          "column": 15
                        },
                        "identifierName": "userSelect"
                      },
                      "name": "userSelect"
                    },
                    {
                      "type": "Identifier",
                      "start": 2406,
                      "end": 2414,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 17
                        },
                        "end": {
                          "line": 76,
                          "column": 25
                        },
                        "identifierName": "onChange"
                      },
                      "name": "onChange"
                    },
                    {
                      "type": "AssignmentPattern",
                      "start": 2416,
                      "end": 2428,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 27
                        },
                        "end": {
                          "line": 76,
                          "column": 39
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 2416,
                        "end": 2423,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 27
                          },
                          "end": {
                            "line": 76,
                            "column": 34
                          },
                          "identifierName": "options"
                        },
                        "name": "options"
                      },
                      "right": {
                        "type": "ObjectExpression",
                        "start": 2426,
                        "end": 2428,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 37
                          },
                          "end": {
                            "line": 76,
                            "column": 39
                          }
                        },
                        "properties": []
                      }
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 2433,
                    "end": 4404,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 44
                      },
                      "end": {
                        "line": 126,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 2443,
                        "end": 2820,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 20
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2449,
                            "end": 2819,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 14
                              },
                              "end": {
                                "line": 82,
                                "column": 19
                              }
                            },
                            "id": {
                              "type": "ObjectPattern",
                              "start": 2449,
                              "end": 2809,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 14
                                },
                                "end": {
                                  "line": 82,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 2463,
                                  "end": 2482,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 31
                                    }
                                  },
                                  "method": false,
                                  "shorthand": true,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 2463,
                                    "end": 2474,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 23
                                      },
                                      "identifierName": "fireOnStart"
                                    },
                                    "name": "fireOnStart"
                                  },
                                  "value": {
                                    "type": "AssignmentPattern",
                                    "start": 2463,
                                    "end": 2482,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 31
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2463,
                                      "end": 2474,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 23
                                        },
                                        "identifierName": "fireOnStart"
                                      },
                                      "name": "fireOnStart"
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 2477,
                                      "end": 2482,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 31
                                        }
                                      },
                                      "value": false
                                    }
                                  },
                                  "extra": {
                                    "shorthand": true
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 2540,
                                  "end": 2570,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 42
                                    }
                                  },
                                  "method": false,
                                  "shorthand": true,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 2540,
                                    "end": 2562,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 34
                                      },
                                      "identifierName": "unsubscribeOnUndefined"
                                    },
                                    "name": "unsubscribeOnUndefined",
                                    "leadingComments": null
                                  },
                                  "value": {
                                    "type": "AssignmentPattern",
                                    "start": 2540,
                                    "end": 2570,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 42
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2540,
                                      "end": 2562,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 34
                                        },
                                        "identifierName": "unsubscribeOnUndefined"
                                      },
                                      "name": "unsubscribeOnUndefined"
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 2565,
                                      "end": 2570,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 42
                                        }
                                      },
                                      "value": false
                                    },
                                    "leadingComments": null
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " trigger onChange immediately",
                                      "start": 2496,
                                      "end": 2527,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 76
                                        }
                                      }
                                    }
                                  ],
                                  "extra": {
                                    "shorthand": true
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 2634,
                                  "end": 2654,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 32
                                    }
                                  },
                                  "method": false,
                                  "shorthand": true,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 2634,
                                    "end": 2642,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 20
                                      },
                                      "identifierName": "onRemove"
                                    },
                                    "name": "onRemove",
                                    "leadingComments": null
                                  },
                                  "value": {
                                    "type": "AssignmentPattern",
                                    "start": 2634,
                                    "end": 2654,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 32
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2634,
                                      "end": 2642,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 20
                                        },
                                        "identifierName": "onRemove"
                                      },
                                      "name": "onRemove"
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 2645,
                                      "end": 2654,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 32
                                        },
                                        "identifierName": "undefined"
                                      },
                                      "name": "undefined"
                                    },
                                    "leadingComments": null
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " unsubscribe if userSelect() returns undefined",
                                      "start": 2573,
                                      "end": 2621,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 93
                                        }
                                      }
                                    }
                                  ],
                                  "extra": {
                                    "shorthand": true
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 2723,
                                  "end": 2742,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 31
                                    }
                                  },
                                  "method": false,
                                  "shorthand": true,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 2723,
                                    "end": 2730,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 19
                                      },
                                      "identifierName": "manager"
                                    },
                                    "name": "manager",
                                    "leadingComments": null
                                  },
                                  "value": {
                                    "type": "AssignmentPattern",
                                    "start": 2723,
                                    "end": 2742,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 31
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2723,
                                      "end": 2730,
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 19
                                        },
                                        "identifierName": "manager"
                                      },
                                      "name": "manager"
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 2733,
                                      "end": 2742,
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 31
                                        },
                                        "identifierName": "undefined"
                                      },
                                      "name": "undefined"
                                    },
                                    "leadingComments": null
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " callback when state changes to undefined",
                                      "start": 2667,
                                      "end": 2710,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 88
                                        }
                                      }
                                    }
                                  ],
                                  "extra": {
                                    "shorthand": true
                                  }
                                }
                              ]
                            },
                            "init": {
                              "type": "Identifier",
                              "start": 2812,
                              "end": 2819,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 12
                                },
                                "end": {
                                  "line": 82,
                                  "column": 19
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 2830,
                        "end": 2863,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 8
                          },
                          "end": {
                            "line": 84,
                            "column": 41
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2834,
                            "end": 2840,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 12
                              },
                              "end": {
                                "line": 84,
                                "column": 18
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2834,
                              "end": 2840,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 12
                                },
                                "end": {
                                  "line": 84,
                                  "column": 18
                                },
                                "identifierName": "finish"
                              },
                              "name": "finish"
                            },
                            "init": null
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 2842,
                            "end": 2862,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 20
                              },
                              "end": {
                                "line": 84,
                                "column": 40
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2842,
                              "end": 2854,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 20
                                },
                                "end": {
                                  "line": 84,
                                  "column": 32
                                },
                                "identifierName": "unsubscribed"
                              },
                              "name": "unsubscribed"
                            },
                            "init": {
                              "type": "BooleanLiteral",
                              "start": 2857,
                              "end": 2862,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 35
                                },
                                "end": {
                                  "line": 84,
                                  "column": 40
                                }
                              },
                              "value": false
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 2872,
                        "end": 2893,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 8
                          },
                          "end": {
                            "line": 85,
                            "column": 29
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2876,
                            "end": 2885,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 12
                              },
                              "end": {
                                "line": 85,
                                "column": 21
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2876,
                              "end": 2885,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 12
                                },
                                "end": {
                                  "line": 85,
                                  "column": 21
                                },
                                "identifierName": "preselect"
                              },
                              "name": "preselect"
                            },
                            "init": null
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 2887,
                            "end": 2892,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 23
                              },
                              "end": {
                                "line": 85,
                                "column": 28
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2887,
                              "end": 2892,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 23
                                },
                                "end": {
                                  "line": 85,
                                  "column": 28
                                },
                                "identifierName": "state"
                              },
                              "name": "state"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      {
                        "type": "IfStatement",
                        "start": 2902,
                        "end": 3052,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 8
                          },
                          "end": {
                            "line": 87,
                            "column": 28
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 2906,
                          "end": 3022,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 12
                            },
                            "end": {
                              "line": 86,
                              "column": 128
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 2906,
                            "end": 2945,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 12
                              },
                              "end": {
                                "line": 86,
                                "column": 51
                              }
                            },
                            "left": {
                              "type": "AssignmentExpression",
                              "start": 2907,
                              "end": 2930,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 13
                                },
                                "end": {
                                  "line": 86,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 2907,
                                "end": 2916,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 22
                                  },
                                  "identifierName": "preselect"
                                },
                                "name": "preselect"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 2919,
                                "end": 2930,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 2919,
                                  "end": 2928,
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 34
                                    },
                                    "identifierName": "preSelect"
                                  },
                                  "name": "preSelect"
                                },
                                "arguments": []
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 2906
                              }
                            },
                            "operator": "===",
                            "right": {
                              "type": "Identifier",
                              "start": 2936,
                              "end": 2945,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 42
                                },
                                "end": {
                                  "line": 86,
                                  "column": 51
                                },
                                "identifierName": "undefined"
                              },
                              "name": "undefined"
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "LogicalExpression",
                            "start": 2950,
                            "end": 3021,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 56
                              },
                              "end": {
                                "line": 86,
                                "column": 127
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 2950,
                              "end": 2995,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 56
                                },
                                "end": {
                                  "line": 86,
                                  "column": 101
                                }
                              },
                              "left": {
                                "type": "AssignmentExpression",
                                "start": 2951,
                                "end": 2980,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 86
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 2951,
                                  "end": 2956,
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 62
                                    },
                                    "identifierName": "state"
                                  },
                                  "name": "state"
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 2959,
                                  "end": 2980,
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 86
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 2959,
                                    "end": 2969,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 75
                                      },
                                      "identifierName": "userSelect"
                                    },
                                    "name": "userSelect"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 2970,
                                      "end": 2979,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 76
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 85
                                        },
                                        "identifierName": "preselect"
                                      },
                                      "name": "preselect"
                                    }
                                  ]
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 2950
                                }
                              },
                              "operator": "===",
                              "right": {
                                "type": "Identifier",
                                "start": 2986,
                                "end": 2995,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 101
                                  },
                                  "identifierName": "undefined"
                                },
                                "name": "undefined"
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "Identifier",
                              "start": 2999,
                              "end": 3021,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 105
                                },
                                "end": {
                                  "line": 86,
                                  "column": 127
                                },
                                "identifierName": "unsubscribeOnUndefined"
                              },
                              "name": "unsubscribeOnUndefined"
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 2949
                            }
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 3036,
                          "end": 3052,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 12
                            },
                            "end": {
                              "line": 87,
                              "column": 28
                            }
                          },
                          "argument": {
                            "type": "ArrowFunctionExpression",
                            "start": 3043,
                            "end": 3051,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 19
                              },
                              "end": {
                                "line": 87,
                                "column": 27
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 3049,
                              "end": 3051,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 25
                                },
                                "end": {
                                  "line": 87,
                                  "column": 27
                                }
                              },
                              "body": [],
                              "directives": []
                            }
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 3062,
                        "end": 3705,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 8
                          },
                          "end": {
                            "line": 103,
                            "column": 10
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 3068,
                            "end": 3704,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 14
                              },
                              "end": {
                                "line": 103,
                                "column": 9
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 3068,
                              "end": 3080,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 14
                                },
                                "end": {
                                  "line": 89,
                                  "column": 26
                                },
                                "identifierName": "handleChange"
                              },
                              "name": "handleChange"
                            },
                            "init": {
                              "type": "ArrowFunctionExpression",
                              "start": 3083,
                              "end": 3704,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 29
                                },
                                "end": {
                                  "line": 103,
                                  "column": 9
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [],
                              "body": {
                                "type": "BlockStatement",
                                "start": 3089,
                                "end": 3704,
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 9
                                  }
                                },
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "start": 3103,
                                    "end": 3144,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 23
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 3107,
                                      "end": 3119,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 28
                                        },
                                        "identifierName": "unsubscribed"
                                      },
                                      "name": "unsubscribed"
                                    },
                                    "consequent": {
                                      "type": "ReturnStatement",
                                      "start": 3137,
                                      "end": 3144,
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 23
                                        }
                                      },
                                      "argument": null,
                                      "leadingComments": null,
                                      "trailingComments": null
                                    },
                                    "alternate": null,
                                    "trailingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " Get pre-selected state",
                                        "start": 3157,
                                        "end": 3182,
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 37
                                          }
                                        }
                                      }
                                    ]
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 3195,
                                    "end": 3223,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 40
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 3201,
                                        "end": 3222,
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 39
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 3201,
                                          "end": 3214,
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 31
                                            },
                                            "identifierName": "previousState"
                                          },
                                          "name": "previousState",
                                          "leadingComments": null
                                        },
                                        "init": {
                                          "type": "Identifier",
                                          "start": 3217,
                                          "end": 3222,
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 39
                                            },
                                            "identifierName": "state"
                                          },
                                          "name": "state"
                                        },
                                        "leadingComments": null
                                      }
                                    ],
                                    "kind": "const",
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " Get pre-selected state",
                                        "start": 3157,
                                        "end": 3182,
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 37
                                          }
                                        }
                                      }
                                    ],
                                    "trailingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " Unsubscribe if preselect or state is undefined",
                                        "start": 3236,
                                        "end": 3285,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 61
                                          }
                                        }
                                      }
                                    ]
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 3298,
                                    "end": 3585,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 13
                                      }
                                    },
                                    "test": {
                                      "type": "LogicalExpression",
                                      "start": 3302,
                                      "end": 3418,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 132
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 3302,
                                        "end": 3341,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 55
                                          }
                                        },
                                        "left": {
                                          "type": "AssignmentExpression",
                                          "start": 3303,
                                          "end": 3326,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 40
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 3303,
                                            "end": 3312,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 26
                                              },
                                              "identifierName": "preselect"
                                            },
                                            "name": "preselect",
                                            "leadingComments": null
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 3315,
                                            "end": 3326,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 40
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 3315,
                                              "end": 3324,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 38
                                                },
                                                "identifierName": "preSelect"
                                              },
                                              "name": "preSelect"
                                            },
                                            "arguments": []
                                          },
                                          "leadingComments": null,
                                          "extra": {
                                            "parenthesized": true,
                                            "parenStart": 3302
                                          }
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 3332,
                                          "end": 3341,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 55
                                            },
                                            "identifierName": "undefined"
                                          },
                                          "name": "undefined"
                                        },
                                        "leadingComments": null
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "LogicalExpression",
                                        "start": 3346,
                                        "end": 3417,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 131
                                          }
                                        },
                                        "left": {
                                          "type": "BinaryExpression",
                                          "start": 3346,
                                          "end": 3391,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 60
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 105
                                            }
                                          },
                                          "left": {
                                            "type": "AssignmentExpression",
                                            "start": 3347,
                                            "end": 3376,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 90
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "start": 3347,
                                              "end": 3352,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 66
                                                },
                                                "identifierName": "state"
                                              },
                                              "name": "state"
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 3355,
                                              "end": 3376,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 69
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 90
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 3355,
                                                "end": 3365,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 79
                                                  },
                                                  "identifierName": "userSelect"
                                                },
                                                "name": "userSelect"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 3366,
                                                  "end": 3375,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 80
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 89
                                                    },
                                                    "identifierName": "preselect"
                                                  },
                                                  "name": "preselect"
                                                }
                                              ]
                                            },
                                            "extra": {
                                              "parenthesized": true,
                                              "parenStart": 3346
                                            }
                                          },
                                          "operator": "===",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 3382,
                                            "end": 3391,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 96
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 105
                                              },
                                              "identifierName": "undefined"
                                            },
                                            "name": "undefined"
                                          }
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 3395,
                                          "end": 3417,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 131
                                            },
                                            "identifierName": "unsubscribeOnUndefined"
                                          },
                                          "name": "unsubscribeOnUndefined"
                                        },
                                        "extra": {
                                          "parenthesized": true,
                                          "parenStart": 3345
                                        }
                                      },
                                      "leadingComments": null
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 3420,
                                      "end": 3585,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 134
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3516,
                                          "end": 3538,
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 38
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 3516,
                                            "end": 3537,
                                            "loc": {
                                              "start": {
                                                "line": 97,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 37
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "start": 3516,
                                              "end": 3521,
                                              "loc": {
                                                "start": {
                                                  "line": 97,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 97,
                                                  "column": 21
                                                },
                                                "identifierName": "state"
                                              },
                                              "name": "state",
                                              "leadingComments": null
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "start": 3524,
                                              "end": 3537,
                                              "loc": {
                                                "start": {
                                                  "line": 97,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 97,
                                                  "column": 37
                                                },
                                                "identifierName": "previousState"
                                              },
                                              "name": "previousState"
                                            },
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " revert state so that finish calls onRemove on a good state",
                                              "start": 3438,
                                              "end": 3499,
                                              "loc": {
                                                "start": {
                                                  "line": 96,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 96,
                                                  "column": 77
                                                }
                                              }
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ReturnStatement",
                                          "start": 3555,
                                          "end": 3571,
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 32
                                            }
                                          },
                                          "argument": {
                                            "type": "CallExpression",
                                            "start": 3562,
                                            "end": 3570,
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 31
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 3562,
                                              "end": 3568,
                                              "loc": {
                                                "start": {
                                                  "line": 98,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 98,
                                                  "column": 29
                                                },
                                                "identifierName": "finish"
                                              },
                                              "name": "finish"
                                            },
                                            "arguments": []
                                          }
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null,
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " Unsubscribe if preselect or state is undefined",
                                        "start": 3236,
                                        "end": 3285,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 61
                                          }
                                        }
                                      }
                                    ]
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 3598,
                                    "end": 3650,
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 23
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 3602,
                                      "end": 3625,
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 39
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 3602,
                                        "end": 3607,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 21
                                          },
                                          "identifierName": "state"
                                        },
                                        "name": "state"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 3612,
                                        "end": 3625,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 39
                                          },
                                          "identifierName": "previousState"
                                        },
                                        "name": "previousState"
                                      }
                                    },
                                    "consequent": {
                                      "type": "ReturnStatement",
                                      "start": 3643,
                                      "end": 3650,
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 23
                                        }
                                      },
                                      "argument": null
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 3663,
                                    "end": 3694,
                                    "loc": {
                                      "start": {
                                        "line": 102,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 43
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 3663,
                                      "end": 3693,
                                      "loc": {
                                        "start": {
                                          "line": 102,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 42
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 3663,
                                        "end": 3671,
                                        "loc": {
                                          "start": {
                                            "line": 102,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 102,
                                            "column": 20
                                          },
                                          "identifierName": "onChange"
                                        },
                                        "name": "onChange"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 3672,
                                          "end": 3677,
                                          "loc": {
                                            "start": {
                                              "line": 102,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 102,
                                              "column": 26
                                            },
                                            "identifierName": "state"
                                          },
                                          "name": "state"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 3679,
                                          "end": 3692,
                                          "loc": {
                                            "start": {
                                              "line": 102,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 102,
                                              "column": 41
                                            },
                                            "identifierName": "previousState"
                                          },
                                          "name": "previousState"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            }
                          }
                        ],
                        "kind": "const",
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " Subscribe to store, fire on start, return hooked unsubscribe",
                            "start": 3715,
                            "end": 3778,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 8
                              },
                              "end": {
                                "line": 105,
                                "column": 71
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 3787,
                        "end": 3928,
                        "loc": {
                          "start": {
                            "line": 106,
                            "column": 8
                          },
                          "end": {
                            "line": 109,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "Identifier",
                          "start": 3791,
                          "end": 3802,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 12
                            },
                            "end": {
                              "line": 106,
                              "column": 23
                            },
                            "identifierName": "fireOnStart"
                          },
                          "name": "fireOnStart",
                          "leadingComments": null
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 3804,
                          "end": 3928,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 25
                            },
                            "end": {
                              "line": 109,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 3818,
                              "end": 3836,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 12
                                },
                                "end": {
                                  "line": 107,
                                  "column": 30
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 3818,
                                "end": 3835,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 29
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 3818,
                                  "end": 3823,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 17
                                    },
                                    "identifierName": "state"
                                  },
                                  "name": "state"
                                },
                                "right": {
                                  "type": "Identifier",
                                  "start": 3826,
                                  "end": 3835,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 29
                                    },
                                    "identifierName": "undefined"
                                  },
                                  "name": "undefined"
                                }
                              },
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": " so that onChange is called with prev === undefined",
                                  "start": 3837,
                                  "end": 3890,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 84
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 3903,
                              "end": 3918,
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 12
                                },
                                "end": {
                                  "line": 108,
                                  "column": 27
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 3903,
                                "end": 3917,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 26
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 3903,
                                  "end": 3915,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 24
                                    },
                                    "identifierName": "handleChange"
                                  },
                                  "name": "handleChange",
                                  "leadingComments": null
                                },
                                "arguments": [],
                                "leadingComments": null
                              },
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": " so that onChange is called with prev === undefined",
                                  "start": 3837,
                                  "end": 3890,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 84
                                    }
                                  }
                                }
                              ]
                            }
                          ],
                          "directives": []
                        },
                        "alternate": null,
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " Subscribe to store, fire on start, return hooked unsubscribe",
                            "start": 3715,
                            "end": 3778,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 8
                              },
                              "end": {
                                "line": 105,
                                "column": 71
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 3937,
                        "end": 3987,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 8
                          },
                          "end": {
                            "line": 110,
                            "column": 58
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 3943,
                            "end": 3986,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 14
                              },
                              "end": {
                                "line": 110,
                                "column": 57
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 3943,
                              "end": 3954,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 14
                                },
                                "end": {
                                  "line": 110,
                                  "column": 25
                                },
                                "identifierName": "unsubscribe"
                              },
                              "name": "unsubscribe"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 3957,
                              "end": 3986,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 28
                                },
                                "end": {
                                  "line": 110,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3957,
                                "end": 3972,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3957,
                                  "end": 3962,
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 33
                                    },
                                    "identifierName": "store"
                                  },
                                  "name": "store"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3963,
                                  "end": 3972,
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 43
                                    },
                                    "identifierName": "subscribe"
                                  },
                                  "name": "subscribe"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 3973,
                                  "end": 3985,
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 56
                                    },
                                    "identifierName": "handleChange"
                                  },
                                  "name": "handleChange"
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 3997,
                        "end": 4187,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 8
                          },
                          "end": {
                            "line": 118,
                            "column": 10
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3997,
                          "end": 4186,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 8
                            },
                            "end": {
                              "line": 118,
                              "column": 9
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 3997,
                            "end": 4003,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 8
                              },
                              "end": {
                                "line": 112,
                                "column": 14
                              },
                              "identifierName": "finish"
                            },
                            "name": "finish"
                          },
                          "right": {
                            "type": "ArrowFunctionExpression",
                            "start": 4006,
                            "end": 4186,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 17
                              },
                              "end": {
                                "line": 118,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 4012,
                              "end": 4186,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 23
                                },
                                "end": {
                                  "line": 118,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 4026,
                                  "end": 4067,
                                  "loc": {
                                    "start": {
                                      "line": 113,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 23
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 4030,
                                    "end": 4042,
                                    "loc": {
                                      "start": {
                                        "line": 113,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 113,
                                        "column": 28
                                      },
                                      "identifierName": "unsubscribed"
                                    },
                                    "name": "unsubscribed"
                                  },
                                  "consequent": {
                                    "type": "ReturnStatement",
                                    "start": 4060,
                                    "end": 4067,
                                    "loc": {
                                      "start": {
                                        "line": 114,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 114,
                                        "column": 23
                                      }
                                    },
                                    "argument": null
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 4080,
                                  "end": 4100,
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 32
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 4080,
                                    "end": 4099,
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 31
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4080,
                                      "end": 4092,
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 24
                                        },
                                        "identifierName": "unsubscribed"
                                      },
                                      "name": "unsubscribed"
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 4095,
                                      "end": 4099,
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 31
                                        }
                                      },
                                      "value": true
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 4113,
                                  "end": 4127,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 26
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 4113,
                                    "end": 4126,
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 25
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 4113,
                                      "end": 4124,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 23
                                        },
                                        "identifierName": "unsubscribe"
                                      },
                                      "name": "unsubscribe"
                                    },
                                    "arguments": []
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 4140,
                                  "end": 4176,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 48
                                    }
                                  },
                                  "expression": {
                                    "type": "LogicalExpression",
                                    "start": 4140,
                                    "end": 4175,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 47
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4140,
                                      "end": 4148,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 20
                                        },
                                        "identifierName": "onRemove"
                                      },
                                      "name": "onRemove"
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 4152,
                                      "end": 4175,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 47
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 4152,
                                        "end": 4160,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 32
                                          },
                                          "identifierName": "onRemove"
                                        },
                                        "name": "onRemove"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4161,
                                          "end": 4166,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 38
                                            },
                                            "identifierName": "state"
                                          },
                                          "name": "state"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4168,
                                          "end": 4174,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 46
                                            },
                                            "identifierName": "finish"
                                          },
                                          "name": "finish"
                                        }
                                      ]
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        },
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " Call manager, if available. This allows classes to track subscribes and clean up",
                            "start": 4197,
                            "end": 4280,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 8
                              },
                              "end": {
                                "line": 120,
                                "column": 91
                              }
                            }
                          },
                          {
                            "type": "CommentLine",
                            "value": " in bulk once they are destroyed.",
                            "start": 4289,
                            "end": 4324,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 8
                              },
                              "end": {
                                "line": 121,
                                "column": 43
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 4333,
                        "end": 4374,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 8
                          },
                          "end": {
                            "line": 123,
                            "column": 28
                          }
                        },
                        "test": {
                          "type": "Identifier",
                          "start": 4337,
                          "end": 4344,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 12
                            },
                            "end": {
                              "line": 122,
                              "column": 19
                            },
                            "identifierName": "manager"
                          },
                          "name": "manager",
                          "leadingComments": null
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 4358,
                          "end": 4374,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 12
                            },
                            "end": {
                              "line": 123,
                              "column": 28
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 4358,
                            "end": 4373,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 12
                              },
                              "end": {
                                "line": 123,
                                "column": 27
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 4358,
                              "end": 4365,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 12
                                },
                                "end": {
                                  "line": 123,
                                  "column": 19
                                },
                                "identifierName": "manager"
                              },
                              "name": "manager"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4366,
                                "end": 4372,
                                "loc": {
                                  "start": {
                                    "line": 123,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 26
                                  },
                                  "identifierName": "finish"
                                },
                                "name": "finish"
                              }
                            ]
                          }
                        },
                        "alternate": null,
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " Call manager, if available. This allows classes to track subscribes and clean up",
                            "start": 4197,
                            "end": 4280,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 8
                              },
                              "end": {
                                "line": 120,
                                "column": 91
                              }
                            }
                          },
                          {
                            "type": "CommentLine",
                            "value": " in bulk once they are destroyed.",
                            "start": 4289,
                            "end": 4324,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 8
                              },
                              "end": {
                                "line": 121,
                                "column": 43
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 4384,
                        "end": 4398,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 8
                          },
                          "end": {
                            "line": 125,
                            "column": 22
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 4391,
                          "end": 4397,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 15
                            },
                            "end": {
                              "line": 125,
                              "column": 21
                            },
                            "identifierName": "finish"
                          },
                          "name": "finish"
                        }
                      }
                    ],
                    "directives": []
                  },
                  "extra": {
                    "parenthesized": true,
                    "parenStart": 2387
                  }
                }
              },
              "leadingComments": null
            }
          ],
          "kind": "const",
          "leadingComments": [
            {
              "type": "CommentLine",
              "value": " State observe with pre-select and user-select",
              "start": 2269,
              "end": 2317,
              "loc": {
                "start": {
                  "line": 74,
                  "column": 0
                },
                "end": {
                  "line": 74,
                  "column": 48
                }
              }
            }
          ],
          "trailingComments": [
            {
              "type": "CommentLine",
              "value": " Build ClassAD feature path (_O. ...)",
              "start": 4409,
              "end": 4448,
              "loc": {
                "start": {
                  "line": 129,
                  "column": 0
                },
                "end": {
                  "line": 129,
                  "column": 39
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " State observe with pre-select and user-select",
            "start": 2269,
            "end": 2317,
            "loc": {
              "start": {
                "line": 74,
                "column": 0
              },
              "end": {
                "line": 74,
                "column": 48
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " Build ClassAD feature path (_O. ...)",
            "start": 4409,
            "end": 4448,
            "loc": {
              "start": {
                "line": 129,
                "column": 0
              },
              "end": {
                "line": 129,
                "column": 39
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 4449,
        "end": 4815,
        "loc": {
          "start": {
            "line": 130,
            "column": 0
          },
          "end": {
            "line": 139,
            "column": 1
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "VariableDeclaration",
          "start": 4456,
          "end": 4815,
          "loc": {
            "start": {
              "line": 130,
              "column": 7
            },
            "end": {
              "line": 139,
              "column": 1
            }
          },
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 4462,
              "end": 4815,
              "loc": {
                "start": {
                  "line": 130,
                  "column": 13
                },
                "end": {
                  "line": 139,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 4462,
                "end": 4478,
                "loc": {
                  "start": {
                    "line": 130,
                    "column": 13
                  },
                  "end": {
                    "line": 130,
                    "column": 29
                  },
                  "identifierName": "buildFeaturePath"
                },
                "name": "buildFeaturePath",
                "leadingComments": null
              },
              "init": {
                "type": "ArrowFunctionExpression",
                "start": 4481,
                "end": 4815,
                "loc": {
                  "start": {
                    "line": 130,
                    "column": 32
                  },
                  "end": {
                    "line": 139,
                    "column": 1
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 4462,
                  "end": 4478,
                  "loc": {
                    "start": {
                      "line": 130,
                      "column": 13
                    },
                    "end": {
                      "line": 130,
                      "column": 29
                    },
                    "identifierName": "buildFeaturePath"
                  },
                  "name": "buildFeaturePath",
                  "leadingComments": null
                },
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4482,
                    "end": 4486,
                    "loc": {
                      "start": {
                        "line": 130,
                        "column": 33
                      },
                      "end": {
                        "line": 130,
                        "column": 37
                      },
                      "identifierName": "tree"
                    },
                    "name": "tree"
                  },
                  {
                    "type": "Identifier",
                    "start": 4488,
                    "end": 4495,
                    "loc": {
                      "start": {
                        "line": 130,
                        "column": 39
                      },
                      "end": {
                        "line": 130,
                        "column": 46
                      },
                      "identifierName": "feature"
                    },
                    "name": "feature"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4500,
                  "end": 4815,
                  "loc": {
                    "start": {
                      "line": 130,
                      "column": 51
                    },
                    "end": {
                      "line": 139,
                      "column": 1
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 4506,
                      "end": 4572,
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 4
                        },
                        "end": {
                          "line": 132,
                          "column": 32
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4510,
                        "end": 4537,
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 8
                          },
                          "end": {
                            "line": 131,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 4510,
                          "end": 4524,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 8
                            },
                            "end": {
                              "line": 131,
                              "column": 22
                            }
                          },
                          "operator": "typeof",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 4517,
                            "end": 4524,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 15
                              },
                              "end": {
                                "line": 131,
                                "column": 22
                              },
                              "identifierName": "feature"
                            },
                            "name": "feature"
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "!==",
                        "right": {
                          "type": "StringLiteral",
                          "start": 4529,
                          "end": 4537,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 27
                            },
                            "end": {
                              "line": 131,
                              "column": 35
                            }
                          },
                          "extra": {
                            "rawValue": "object",
                            "raw": "'object'"
                          },
                          "value": "object"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 4548,
                        "end": 4572,
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 8
                          },
                          "end": {
                            "line": 132,
                            "column": 32
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 4548,
                          "end": 4571,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 8
                            },
                            "end": {
                              "line": 132,
                              "column": 31
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 4548,
                            "end": 4555,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 8
                              },
                              "end": {
                                "line": 132,
                                "column": 15
                              },
                              "identifierName": "feature"
                            },
                            "name": "feature"
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 4558,
                            "end": 4571,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 18
                              },
                              "end": {
                                "line": 132,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4558,
                              "end": 4562,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 18
                                },
                                "end": {
                                  "line": 132,
                                  "column": 22
                                },
                                "identifierName": "tree"
                              },
                              "name": "tree"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4563,
                              "end": 4570,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 23
                                },
                                "end": {
                                  "line": 132,
                                  "column": 30
                                },
                                "identifierName": "feature"
                              },
                              "name": "feature"
                            },
                            "computed": true
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4577,
                      "end": 4636,
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 4
                        },
                        "end": {
                          "line": 133,
                          "column": 63
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4581,
                          "end": 4617,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 8
                            },
                            "end": {
                              "line": 133,
                              "column": 44
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4581,
                            "end": 4585,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 8
                              },
                              "end": {
                                "line": 133,
                                "column": 12
                              },
                              "identifierName": "path"
                            },
                            "name": "path"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 4588,
                            "end": 4617,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 15
                              },
                              "end": {
                                "line": 133,
                                "column": 44
                              }
                            },
                            "elements": [
                              {
                                "type": "CallExpression",
                                "start": 4589,
                                "end": 4616,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 43
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 4589,
                                  "end": 4602,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 133,
                                      "column": 29
                                    },
                                    "identifierName": "normalizeName"
                                  },
                                  "name": "normalizeName"
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 4603,
                                    "end": 4615,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4603,
                                      "end": 4610,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 133,
                                          "column": 37
                                        },
                                        "identifierName": "feature"
                                      },
                                      "name": "feature"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4611,
                                      "end": 4615,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 133,
                                          "column": 42
                                        },
                                        "identifierName": "name"
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            ]
                          }
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 4619,
                          "end": 4635,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 46
                            },
                            "end": {
                              "line": 133,
                              "column": 62
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4619,
                            "end": 4625,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 46
                              },
                              "end": {
                                "line": 133,
                                "column": 52
                              },
                              "identifierName": "parent"
                            },
                            "name": "parent"
                          },
                          "init": {
                            "type": "Identifier",
                            "start": 4628,
                            "end": 4635,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 55
                              },
                              "end": {
                                "line": 133,
                                "column": 62
                              },
                              "identifierName": "feature"
                            },
                            "name": "feature"
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "WhileStatement",
                      "start": 4641,
                      "end": 4768,
                      "loc": {
                        "start": {
                          "line": 134,
                          "column": 4
                        },
                        "end": {
                          "line": 137,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 4648,
                        "end": 4675,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 11
                          },
                          "end": {
                            "line": 134,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 4648,
                          "end": 4654,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 11
                            },
                            "end": {
                              "line": 134,
                              "column": 17
                            },
                            "identifierName": "parent"
                          },
                          "name": "parent"
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 4658,
                          "end": 4675,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 21
                            },
                            "end": {
                              "line": 134,
                              "column": 38
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 4658,
                            "end": 4671,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 21
                              },
                              "end": {
                                "line": 134,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4658,
                              "end": 4664,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 21
                                },
                                "end": {
                                  "line": 134,
                                  "column": 27
                                },
                                "identifierName": "parent"
                              },
                              "name": "parent"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4665,
                              "end": 4671,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 28
                                },
                                "end": {
                                  "line": 134,
                                  "column": 34
                                },
                                "identifierName": "parent"
                              },
                              "name": "parent"
                            },
                            "computed": false
                          },
                          "operator": ">",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 4674,
                            "end": 4675,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 37
                              },
                              "end": {
                                "line": 134,
                                "column": 38
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 4677,
                        "end": 4768,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 40
                          },
                          "end": {
                            "line": 137,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4687,
                            "end": 4716,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 8
                              },
                              "end": {
                                "line": 135,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4687,
                              "end": 4715,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 8
                                },
                                "end": {
                                  "line": 135,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 4687,
                                "end": 4693,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 14
                                  },
                                  "identifierName": "parent"
                                },
                                "name": "parent"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 4696,
                                "end": 4715,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4696,
                                  "end": 4700,
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 21
                                    },
                                    "identifierName": "tree"
                                  },
                                  "name": "tree"
                                },
                                "property": {
                                  "type": "MemberExpression",
                                  "start": 4701,
                                  "end": 4714,
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4701,
                                    "end": 4707,
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 28
                                      },
                                      "identifierName": "parent"
                                    },
                                    "name": "parent"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4708,
                                    "end": 4714,
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 35
                                      },
                                      "identifierName": "parent"
                                    },
                                    "name": "parent"
                                  },
                                  "computed": false
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4725,
                            "end": 4762,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 8
                              },
                              "end": {
                                "line": 136,
                                "column": 45
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4725,
                              "end": 4762,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 8
                                },
                                "end": {
                                  "line": 136,
                                  "column": 45
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4725,
                                "end": 4734,
                                "loc": {
                                  "start": {
                                    "line": 136,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 17
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4725,
                                  "end": 4729,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 12
                                    },
                                    "identifierName": "path"
                                  },
                                  "name": "path"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4730,
                                  "end": 4734,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 17
                                    },
                                    "identifierName": "push"
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 4735,
                                  "end": 4761,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 44
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 4735,
                                    "end": 4748,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 31
                                      },
                                      "identifierName": "normalizeName"
                                    },
                                    "name": "normalizeName"
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 4749,
                                      "end": 4760,
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4749,
                                        "end": 4755,
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 38
                                          },
                                          "identifierName": "parent"
                                        },
                                        "name": "parent"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4756,
                                        "end": 4760,
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 43
                                          },
                                          "identifierName": "name"
                                        },
                                        "name": "name"
                                      },
                                      "computed": false
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4773,
                      "end": 4813,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 4
                        },
                        "end": {
                          "line": 138,
                          "column": 44
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 4780,
                        "end": 4812,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 11
                          },
                          "end": {
                            "line": 138,
                            "column": 43
                          }
                        },
                        "left": {
                          "type": "StringLiteral",
                          "start": 4780,
                          "end": 4785,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 11
                            },
                            "end": {
                              "line": 138,
                              "column": 16
                            }
                          },
                          "extra": {
                            "rawValue": "_O.",
                            "raw": "'_O.'"
                          },
                          "value": "_O."
                        },
                        "operator": "+",
                        "right": {
                          "type": "CallExpression",
                          "start": 4788,
                          "end": 4812,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 19
                            },
                            "end": {
                              "line": 138,
                              "column": 43
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4788,
                            "end": 4807,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 19
                              },
                              "end": {
                                "line": 138,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 4788,
                              "end": 4802,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 19
                                },
                                "end": {
                                  "line": 138,
                                  "column": 33
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4788,
                                "end": 4800,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4788,
                                  "end": 4792,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 23
                                    },
                                    "identifierName": "path"
                                  },
                                  "name": "path"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4793,
                                  "end": 4800,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 31
                                    },
                                    "identifierName": "reverse"
                                  },
                                  "name": "reverse"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4803,
                              "end": 4807,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 34
                                },
                                "end": {
                                  "line": 138,
                                  "column": 38
                                },
                                "identifierName": "join"
                              },
                              "name": "join"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 4808,
                              "end": 4811,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 39
                                },
                                "end": {
                                  "line": 138,
                                  "column": 42
                                }
                              },
                              "extra": {
                                "rawValue": ".",
                                "raw": "'.'"
                              },
                              "value": "."
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              "leadingComments": null
            }
          ],
          "kind": "const",
          "leadingComments": [
            {
              "type": "CommentLine",
              "value": " Build ClassAD feature path (_O. ...)",
              "start": 4409,
              "end": 4448,
              "loc": {
                "start": {
                  "line": 129,
                  "column": 0
                },
                "end": {
                  "line": 129,
                  "column": 39
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Build ClassAD feature path (_O. ...)",
            "start": 4409,
            "end": 4448,
            "loc": {
              "start": {
                "line": 129,
                "column": 0
              },
              "end": {
                "line": 129,
                "column": 39
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 4817,
        "end": 4903,
        "loc": {
          "start": {
            "line": 141,
            "column": 0
          },
          "end": {
            "line": 143,
            "column": 1
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "VariableDeclaration",
          "start": 4824,
          "end": 4903,
          "loc": {
            "start": {
              "line": 141,
              "column": 7
            },
            "end": {
              "line": 143,
              "column": 1
            }
          },
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 4830,
              "end": 4903,
              "loc": {
                "start": {
                  "line": 141,
                  "column": 13
                },
                "end": {
                  "line": 143,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 4830,
                "end": 4843,
                "loc": {
                  "start": {
                    "line": 141,
                    "column": 13
                  },
                  "end": {
                    "line": 141,
                    "column": 26
                  },
                  "identifierName": "normalizeName"
                },
                "name": "normalizeName"
              },
              "init": {
                "type": "ArrowFunctionExpression",
                "start": 4846,
                "end": 4903,
                "loc": {
                  "start": {
                    "line": 141,
                    "column": 29
                  },
                  "end": {
                    "line": 143,
                    "column": 1
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 4830,
                  "end": 4843,
                  "loc": {
                    "start": {
                      "line": 141,
                      "column": 13
                    },
                    "end": {
                      "line": 141,
                      "column": 26
                    },
                    "identifierName": "normalizeName"
                  },
                  "name": "normalizeName"
                },
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4846,
                    "end": 4850,
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 29
                      },
                      "end": {
                        "line": 141,
                        "column": 33
                      },
                      "identifierName": "name"
                    },
                    "name": "name"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4854,
                  "end": 4903,
                  "loc": {
                    "start": {
                      "line": 141,
                      "column": 37
                    },
                    "end": {
                      "line": 143,
                      "column": 1
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 4860,
                      "end": 4901,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 4
                        },
                        "end": {
                          "line": 142,
                          "column": 45
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 4867,
                        "end": 4900,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 11
                          },
                          "end": {
                            "line": 142,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4867,
                          "end": 4879,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 11
                            },
                            "end": {
                              "line": 142,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4867,
                            "end": 4871,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 11
                              },
                              "end": {
                                "line": 142,
                                "column": 15
                              },
                              "identifierName": "name"
                            },
                            "name": "name"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4872,
                            "end": 4879,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 16
                              },
                              "end": {
                                "line": 142,
                                "column": 23
                              },
                              "identifierName": "replace"
                            },
                            "name": "replace"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "RegExpLiteral",
                            "start": 4880,
                            "end": 4895,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 24
                              },
                              "end": {
                                "line": 142,
                                "column": 39
                              }
                            },
                            "extra": {
                              "raw": "/(\\s|-|\\r?\\n)/g"
                            },
                            "pattern": "(\\s|-|\\r?\\n)",
                            "flags": "g"
                          },
                          {
                            "type": "StringLiteral",
                            "start": 4897,
                            "end": 4899,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 41
                              },
                              "end": {
                                "line": 142,
                                "column": 43
                              }
                            },
                            "extra": {
                              "rawValue": "",
                              "raw": "''"
                            },
                            "value": ""
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              }
            }
          ],
          "kind": "const",
          "leadingComments": [],
          "trailingComments": []
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " ...",
      "start": 508,
      "end": 514,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 14
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Packs ArrayBuffer into deflated base64 for ClassCAD stream consumption",
      "start": 1279,
      "end": 1352,
      "loc": {
        "start": {
          "line": 42,
          "column": 0
        },
        "end": {
          "line": 42,
          "column": 73
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Helps detecting changes in two array-states",
      "start": 1436,
      "end": 1482,
      "loc": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 45,
          "column": 46
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " State observe with pre-select and user-select",
      "start": 2269,
      "end": 2317,
      "loc": {
        "start": {
          "line": 74,
          "column": 0
        },
        "end": {
          "line": 74,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " trigger onChange immediately",
      "start": 2496,
      "end": 2527,
      "loc": {
        "start": {
          "line": 78,
          "column": 45
        },
        "end": {
          "line": 78,
          "column": 76
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " unsubscribe if userSelect() returns undefined",
      "start": 2573,
      "end": 2621,
      "loc": {
        "start": {
          "line": 79,
          "column": 45
        },
        "end": {
          "line": 79,
          "column": 93
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " callback when state changes to undefined",
      "start": 2667,
      "end": 2710,
      "loc": {
        "start": {
          "line": 80,
          "column": 45
        },
        "end": {
          "line": 80,
          "column": 88
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " callback to pass unsubscribe function to",
      "start": 2756,
      "end": 2799,
      "loc": {
        "start": {
          "line": 81,
          "column": 45
        },
        "end": {
          "line": 81,
          "column": 88
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Get pre-selected state",
      "start": 3157,
      "end": 3182,
      "loc": {
        "start": {
          "line": 92,
          "column": 12
        },
        "end": {
          "line": 92,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Unsubscribe if preselect or state is undefined",
      "start": 3236,
      "end": 3285,
      "loc": {
        "start": {
          "line": 94,
          "column": 12
        },
        "end": {
          "line": 94,
          "column": 61
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " revert state so that finish calls onRemove on a good state",
      "start": 3438,
      "end": 3499,
      "loc": {
        "start": {
          "line": 96,
          "column": 16
        },
        "end": {
          "line": 96,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Subscribe to store, fire on start, return hooked unsubscribe",
      "start": 3715,
      "end": 3778,
      "loc": {
        "start": {
          "line": 105,
          "column": 8
        },
        "end": {
          "line": 105,
          "column": 71
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " so that onChange is called with prev === undefined",
      "start": 3837,
      "end": 3890,
      "loc": {
        "start": {
          "line": 107,
          "column": 31
        },
        "end": {
          "line": 107,
          "column": 84
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Call manager, if available. This allows classes to track subscribes and clean up",
      "start": 4197,
      "end": 4280,
      "loc": {
        "start": {
          "line": 120,
          "column": 8
        },
        "end": {
          "line": 120,
          "column": 91
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " in bulk once they are destroyed.",
      "start": 4289,
      "end": 4324,
      "loc": {
        "start": {
          "line": 121,
          "column": 8
        },
        "end": {
          "line": 121,
          "column": 43
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Build ClassAD feature path (_O. ...)",
      "start": 4409,
      "end": 4448,
      "loc": {
        "start": {
          "line": 129,
          "column": 0
        },
        "end": {
          "line": 129,
          "column": 39
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 7,
      "end": 8,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "as",
      "start": 9,
      "end": 11,
      "loc": {
        "start": {
          "line": 1,
          "column": 9
        },
        "end": {
          "line": 1,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "THREE",
      "start": 12,
      "end": 17,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 18,
      "end": 22,
      "loc": {
        "start": {
          "line": 1,
          "column": 18
        },
        "end": {
          "line": 1,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "three",
      "start": 23,
      "end": 30,
      "loc": {
        "start": {
          "line": 1,
          "column": 23
        },
        "end": {
          "line": 1,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 30,
      "end": 31,
      "loc": {
        "start": {
          "line": 1,
          "column": 30
        },
        "end": {
          "line": 1,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 32,
      "end": 38,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pako",
      "start": 39,
      "end": 43,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 44,
      "end": 48,
      "loc": {
        "start": {
          "line": 2,
          "column": 12
        },
        "end": {
          "line": 2,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "pako",
      "start": 49,
      "end": 55,
      "loc": {
        "start": {
          "line": 2,
          "column": 17
        },
        "end": {
          "line": 2,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 55,
      "end": 56,
      "loc": {
        "start": {
          "line": 2,
          "column": 23
        },
        "end": {
          "line": 2,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 57,
      "end": 63,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "base64",
      "start": 64,
      "end": 70,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 71,
      "end": 75,
      "loc": {
        "start": {
          "line": 3,
          "column": 14
        },
        "end": {
          "line": 3,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "base64-arraybuffer",
      "start": 76,
      "end": 96,
      "loc": {
        "start": {
          "line": 3,
          "column": 19
        },
        "end": {
          "line": 3,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 96,
      "end": 97,
      "loc": {
        "start": {
          "line": 3,
          "column": 39
        },
        "end": {
          "line": 3,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 98,
      "end": 104,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object3",
      "start": 105,
      "end": 112,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 113,
      "end": 117,
      "loc": {
        "start": {
          "line": 4,
          "column": 15
        },
        "end": {
          "line": 4,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../three/object3",
      "start": 118,
      "end": 136,
      "loc": {
        "start": {
          "line": 4,
          "column": 20
        },
        "end": {
          "line": 4,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 136,
      "end": 137,
      "loc": {
        "start": {
          "line": 4,
          "column": 38
        },
        "end": {
          "line": 4,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 138,
      "end": 144,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 145,
      "end": 146,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exponential",
      "start": 147,
      "end": 158,
      "loc": {
        "start": {
          "line": 5,
          "column": 9
        },
        "end": {
          "line": 5,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 159,
      "end": 160,
      "loc": {
        "start": {
          "line": 5,
          "column": 21
        },
        "end": {
          "line": 5,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 161,
      "end": 165,
      "loc": {
        "start": {
          "line": 5,
          "column": 23
        },
        "end": {
          "line": 5,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../animation/easing",
      "start": 166,
      "end": 187,
      "loc": {
        "start": {
          "line": 5,
          "column": 28
        },
        "end": {
          "line": 5,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 187,
      "end": 188,
      "loc": {
        "start": {
          "line": 5,
          "column": 49
        },
        "end": {
          "line": 5,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 190,
      "end": 196,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 197,
      "end": 202,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "end": {
          "line": 7,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Pool",
      "start": 203,
      "end": 207,
      "loc": {
        "start": {
          "line": 7,
          "column": 13
        },
        "end": {
          "line": 7,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "extends",
        "keyword": "extends",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "extends",
      "start": 208,
      "end": 215,
      "loc": {
        "start": {
          "line": 7,
          "column": 18
        },
        "end": {
          "line": 7,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object3",
      "start": 216,
      "end": 223,
      "loc": {
        "start": {
          "line": 7,
          "column": 26
        },
        "end": {
          "line": 7,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 224,
      "end": 225,
      "loc": {
        "start": {
          "line": 7,
          "column": 34
        },
        "end": {
          "line": 7,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 230,
      "end": 241,
      "loc": {
        "start": {
          "line": 8,
          "column": 4
        },
        "end": {
          "line": 8,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 241,
      "end": 242,
      "loc": {
        "start": {
          "line": 8,
          "column": 15
        },
        "end": {
          "line": 8,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 242,
      "end": 243,
      "loc": {
        "start": {
          "line": 8,
          "column": 16
        },
        "end": {
          "line": 8,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "session",
      "start": 244,
      "end": 251,
      "loc": {
        "start": {
          "line": 8,
          "column": 18
        },
        "end": {
          "line": 8,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 252,
      "end": 253,
      "loc": {
        "start": {
          "line": 8,
          "column": 26
        },
        "end": {
          "line": 8,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 253,
      "end": 254,
      "loc": {
        "start": {
          "line": 8,
          "column": 27
        },
        "end": {
          "line": 8,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 255,
      "end": 256,
      "loc": {
        "start": {
          "line": 8,
          "column": 29
        },
        "end": {
          "line": 8,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "super",
        "keyword": "super",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "super",
      "start": 265,
      "end": 270,
      "loc": {
        "start": {
          "line": 9,
          "column": 8
        },
        "end": {
          "line": 9,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 270,
      "end": 271,
      "loc": {
        "start": {
          "line": 9,
          "column": 13
        },
        "end": {
          "line": 9,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 271,
      "end": 272,
      "loc": {
        "start": {
          "line": 9,
          "column": 14
        },
        "end": {
          "line": 9,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 272,
      "end": 273,
      "loc": {
        "start": {
          "line": 9,
          "column": 15
        },
        "end": {
          "line": 9,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 282,
      "end": 286,
      "loc": {
        "start": {
          "line": 10,
          "column": 8
        },
        "end": {
          "line": 10,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 286,
      "end": 287,
      "loc": {
        "start": {
          "line": 10,
          "column": 12
        },
        "end": {
          "line": 10,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "session",
      "start": 287,
      "end": 294,
      "loc": {
        "start": {
          "line": 10,
          "column": 13
        },
        "end": {
          "line": 10,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 295,
      "end": 296,
      "loc": {
        "start": {
          "line": 10,
          "column": 21
        },
        "end": {
          "line": 10,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "session",
      "start": 297,
      "end": 304,
      "loc": {
        "start": {
          "line": 10,
          "column": 23
        },
        "end": {
          "line": 10,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 304,
      "end": 305,
      "loc": {
        "start": {
          "line": 10,
          "column": 30
        },
        "end": {
          "line": 10,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 314,
      "end": 318,
      "loc": {
        "start": {
          "line": 11,
          "column": 8
        },
        "end": {
          "line": 11,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 318,
      "end": 319,
      "loc": {
        "start": {
          "line": 11,
          "column": 12
        },
        "end": {
          "line": 11,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "temporary",
      "start": 319,
      "end": 328,
      "loc": {
        "start": {
          "line": 11,
          "column": 13
        },
        "end": {
          "line": 11,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 329,
      "end": 330,
      "loc": {
        "start": {
          "line": 11,
          "column": 23
        },
        "end": {
          "line": 11,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 331,
      "end": 334,
      "loc": {
        "start": {
          "line": 11,
          "column": 25
        },
        "end": {
          "line": 11,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object3",
      "start": 335,
      "end": 342,
      "loc": {
        "start": {
          "line": 11,
          "column": 29
        },
        "end": {
          "line": 11,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 342,
      "end": 343,
      "loc": {
        "start": {
          "line": 11,
          "column": 36
        },
        "end": {
          "line": 11,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 343,
      "end": 344,
      "loc": {
        "start": {
          "line": 11,
          "column": 37
        },
        "end": {
          "line": 11,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 344,
      "end": 345,
      "loc": {
        "start": {
          "line": 11,
          "column": 38
        },
        "end": {
          "line": 11,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 354,
      "end": 358,
      "loc": {
        "start": {
          "line": 12,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 358,
      "end": 359,
      "loc": {
        "start": {
          "line": 12,
          "column": 12
        },
        "end": {
          "line": 12,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "temporary",
      "start": 359,
      "end": 368,
      "loc": {
        "start": {
          "line": 12,
          "column": 13
        },
        "end": {
          "line": 12,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 368,
      "end": 369,
      "loc": {
        "start": {
          "line": 12,
          "column": 22
        },
        "end": {
          "line": 12,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateParentMaterials",
      "start": 369,
      "end": 390,
      "loc": {
        "start": {
          "line": 12,
          "column": 23
        },
        "end": {
          "line": 12,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 391,
      "end": 392,
      "loc": {
        "start": {
          "line": 12,
          "column": 45
        },
        "end": {
          "line": 12,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 393,
      "end": 398,
      "loc": {
        "start": {
          "line": 12,
          "column": 47
        },
        "end": {
          "line": 12,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 398,
      "end": 399,
      "loc": {
        "start": {
          "line": 12,
          "column": 52
        },
        "end": {
          "line": 12,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 408,
      "end": 412,
      "loc": {
        "start": {
          "line": 13,
          "column": 8
        },
        "end": {
          "line": 13,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 412,
      "end": 413,
      "loc": {
        "start": {
          "line": 13,
          "column": 12
        },
        "end": {
          "line": 13,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "temporary",
      "start": 413,
      "end": 422,
      "loc": {
        "start": {
          "line": 13,
          "column": 13
        },
        "end": {
          "line": 13,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 422,
      "end": 423,
      "loc": {
        "start": {
          "line": 13,
          "column": 22
        },
        "end": {
          "line": 13,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "measurable",
      "start": 423,
      "end": 433,
      "loc": {
        "start": {
          "line": 13,
          "column": 23
        },
        "end": {
          "line": 13,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 434,
      "end": 435,
      "loc": {
        "start": {
          "line": 13,
          "column": 34
        },
        "end": {
          "line": 13,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 436,
      "end": 441,
      "loc": {
        "start": {
          "line": 13,
          "column": 36
        },
        "end": {
          "line": 13,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 441,
      "end": 442,
      "loc": {
        "start": {
          "line": 13,
          "column": 41
        },
        "end": {
          "line": 13,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "super",
        "keyword": "super",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "super",
      "start": 451,
      "end": 456,
      "loc": {
        "start": {
          "line": 14,
          "column": 8
        },
        "end": {
          "line": 14,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 456,
      "end": 457,
      "loc": {
        "start": {
          "line": 14,
          "column": 13
        },
        "end": {
          "line": 14,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "add",
      "start": 457,
      "end": 460,
      "loc": {
        "start": {
          "line": 14,
          "column": 14
        },
        "end": {
          "line": 14,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 460,
      "end": 461,
      "loc": {
        "start": {
          "line": 14,
          "column": 17
        },
        "end": {
          "line": 14,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 461,
      "end": 465,
      "loc": {
        "start": {
          "line": 14,
          "column": 18
        },
        "end": {
          "line": 14,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 465,
      "end": 466,
      "loc": {
        "start": {
          "line": 14,
          "column": 22
        },
        "end": {
          "line": 14,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "temporary",
      "start": 466,
      "end": 475,
      "loc": {
        "start": {
          "line": 14,
          "column": 23
        },
        "end": {
          "line": 14,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 475,
      "end": 476,
      "loc": {
        "start": {
          "line": 14,
          "column": 32
        },
        "end": {
          "line": 14,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 476,
      "end": 477,
      "loc": {
        "start": {
          "line": 14,
          "column": 33
        },
        "end": {
          "line": 14,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 482,
      "end": 483,
      "loc": {
        "start": {
          "line": 15,
          "column": 4
        },
        "end": {
          "line": 15,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 489,
      "end": 495,
      "loc": {
        "start": {
          "line": 17,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 495,
      "end": 496,
      "loc": {
        "start": {
          "line": 17,
          "column": 10
        },
        "end": {
          "line": 17,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 496,
      "end": 497,
      "loc": {
        "start": {
          "line": 17,
          "column": 11
        },
        "end": {
          "line": 17,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 498,
      "end": 499,
      "loc": {
        "start": {
          "line": 17,
          "column": 13
        },
        "end": {
          "line": 17,
          "column": 14
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " ...",
      "start": 508,
      "end": 514,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 519,
      "end": 520,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 521,
      "end": 522,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 20,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 524,
      "end": 530,
      "loc": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 22,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 531,
      "end": 536,
      "loc": {
        "start": {
          "line": 22,
          "column": 7
        },
        "end": {
          "line": 22,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ObjectPrototype",
      "start": 537,
      "end": 552,
      "loc": {
        "start": {
          "line": 22,
          "column": 13
        },
        "end": {
          "line": 22,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "extends",
        "keyword": "extends",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "extends",
      "start": 553,
      "end": 560,
      "loc": {
        "start": {
          "line": 22,
          "column": 29
        },
        "end": {
          "line": 22,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object3",
      "start": 561,
      "end": 568,
      "loc": {
        "start": {
          "line": 22,
          "column": 37
        },
        "end": {
          "line": 22,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 569,
      "end": 570,
      "loc": {
        "start": {
          "line": 22,
          "column": 45
        },
        "end": {
          "line": 22,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 575,
      "end": 586,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 586,
      "end": 587,
      "loc": {
        "start": {
          "line": 23,
          "column": 15
        },
        "end": {
          "line": 23,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 587,
      "end": 588,
      "loc": {
        "start": {
          "line": 23,
          "column": 16
        },
        "end": {
          "line": 23,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "session",
      "start": 589,
      "end": 596,
      "loc": {
        "start": {
          "line": 23,
          "column": 18
        },
        "end": {
          "line": 23,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 597,
      "end": 598,
      "loc": {
        "start": {
          "line": 23,
          "column": 26
        },
        "end": {
          "line": 23,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 598,
      "end": 599,
      "loc": {
        "start": {
          "line": 23,
          "column": 27
        },
        "end": {
          "line": 23,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 600,
      "end": 601,
      "loc": {
        "start": {
          "line": 23,
          "column": 29
        },
        "end": {
          "line": 23,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "super",
        "keyword": "super",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "super",
      "start": 610,
      "end": 615,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 615,
      "end": 616,
      "loc": {
        "start": {
          "line": 24,
          "column": 13
        },
        "end": {
          "line": 24,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 616,
      "end": 617,
      "loc": {
        "start": {
          "line": 24,
          "column": 14
        },
        "end": {
          "line": 24,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 617,
      "end": 618,
      "loc": {
        "start": {
          "line": 24,
          "column": 15
        },
        "end": {
          "line": 24,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 627,
      "end": 631,
      "loc": {
        "start": {
          "line": 25,
          "column": 8
        },
        "end": {
          "line": 25,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 631,
      "end": 632,
      "loc": {
        "start": {
          "line": 25,
          "column": 12
        },
        "end": {
          "line": 25,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "on",
      "start": 632,
      "end": 634,
      "loc": {
        "start": {
          "line": 25,
          "column": 13
        },
        "end": {
          "line": 25,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 634,
      "end": 635,
      "loc": {
        "start": {
          "line": 25,
          "column": 15
        },
        "end": {
          "line": 25,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 635,
      "end": 636,
      "loc": {
        "start": {
          "line": 25,
          "column": 16
        },
        "end": {
          "line": 25,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 649,
      "end": 650,
      "loc": {
        "start": {
          "line": 26,
          "column": 12
        },
        "end": {
          "line": 26,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object3",
      "start": 650,
      "end": 657,
      "loc": {
        "start": {
          "line": 26,
          "column": 13
        },
        "end": {
          "line": 26,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 657,
      "end": 658,
      "loc": {
        "start": {
          "line": 26,
          "column": 20
        },
        "end": {
          "line": 26,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Events",
      "start": 658,
      "end": 664,
      "loc": {
        "start": {
          "line": 26,
          "column": 21
        },
        "end": {
          "line": 26,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 664,
      "end": 665,
      "loc": {
        "start": {
          "line": 26,
          "column": 27
        },
        "end": {
          "line": 26,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Lifecycle",
      "start": 665,
      "end": 674,
      "loc": {
        "start": {
          "line": 26,
          "column": 28
        },
        "end": {
          "line": 26,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 674,
      "end": 675,
      "loc": {
        "start": {
          "line": 26,
          "column": 37
        },
        "end": {
          "line": 26,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ChildAdded",
      "start": 675,
      "end": 685,
      "loc": {
        "start": {
          "line": 26,
          "column": 38
        },
        "end": {
          "line": 26,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 685,
      "end": 686,
      "loc": {
        "start": {
          "line": 26,
          "column": 48
        },
        "end": {
          "line": 26,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 686,
      "end": 687,
      "loc": {
        "start": {
          "line": 26,
          "column": 49
        },
        "end": {
          "line": 26,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 688,
      "end": 689,
      "loc": {
        "start": {
          "line": 26,
          "column": 51
        },
        "end": {
          "line": 26,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 689,
      "end": 690,
      "loc": {
        "start": {
          "line": 26,
          "column": 52
        },
        "end": {
          "line": 26,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 691,
      "end": 696,
      "loc": {
        "start": {
          "line": 26,
          "column": 54
        },
        "end": {
          "line": 26,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 697,
      "end": 698,
      "loc": {
        "start": {
          "line": 26,
          "column": 60
        },
        "end": {
          "line": 26,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 698,
      "end": 699,
      "loc": {
        "start": {
          "line": 26,
          "column": 61
        },
        "end": {
          "line": 26,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 700,
      "end": 702,
      "loc": {
        "start": {
          "line": 26,
          "column": 63
        },
        "end": {
          "line": 26,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 719,
      "end": 724,
      "loc": {
        "start": {
          "line": 27,
          "column": 16
        },
        "end": {
          "line": 27,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 724,
      "end": 725,
      "loc": {
        "start": {
          "line": 27,
          "column": 21
        },
        "end": {
          "line": 27,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateMaterials",
      "start": 725,
      "end": 740,
      "loc": {
        "start": {
          "line": 27,
          "column": 22
        },
        "end": {
          "line": 27,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 740,
      "end": 741,
      "loc": {
        "start": {
          "line": 27,
          "column": 37
        },
        "end": {
          "line": 27,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 741,
      "end": 742,
      "loc": {
        "start": {
          "line": 27,
          "column": 38
        },
        "end": {
          "line": 27,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 763,
      "end": 764,
      "loc": {
        "start": {
          "line": 28,
          "column": 20
        },
        "end": {
          "line": 28,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "animate",
      "start": 764,
      "end": 771,
      "loc": {
        "start": {
          "line": 28,
          "column": 21
        },
        "end": {
          "line": 28,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 771,
      "end": 772,
      "loc": {
        "start": {
          "line": 28,
          "column": 28
        },
        "end": {
          "line": 28,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 772,
      "end": 773,
      "loc": {
        "start": {
          "line": 28,
          "column": 29
        },
        "end": {
          "line": 28,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "materials",
      "start": 774,
      "end": 783,
      "loc": {
        "start": {
          "line": 28,
          "column": 31
        },
        "end": {
          "line": 28,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 783,
      "end": 784,
      "loc": {
        "start": {
          "line": 28,
          "column": 40
        },
        "end": {
          "line": 28,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 785,
      "end": 786,
      "loc": {
        "start": {
          "line": 28,
          "column": 42
        },
        "end": {
          "line": 28,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "meshes",
      "start": 811,
      "end": 817,
      "loc": {
        "start": {
          "line": 29,
          "column": 24
        },
        "end": {
          "line": 29,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 817,
      "end": 818,
      "loc": {
        "start": {
          "line": 29,
          "column": 30
        },
        "end": {
          "line": 29,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 819,
      "end": 820,
      "loc": {
        "start": {
          "line": 29,
          "column": 32
        },
        "end": {
          "line": 29,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 820,
      "end": 821,
      "loc": {
        "start": {
          "line": 29,
          "column": 33
        },
        "end": {
          "line": 29,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "opacity",
      "start": 822,
      "end": 829,
      "loc": {
        "start": {
          "line": 29,
          "column": 35
        },
        "end": {
          "line": 29,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 829,
      "end": 830,
      "loc": {
        "start": {
          "line": 29,
          "column": 42
        },
        "end": {
          "line": 29,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 831,
      "end": 832,
      "loc": {
        "start": {
          "line": 29,
          "column": 44
        },
        "end": {
          "line": 29,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 833,
      "end": 834,
      "loc": {
        "start": {
          "line": 29,
          "column": 46
        },
        "end": {
          "line": 29,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 834,
      "end": 835,
      "loc": {
        "start": {
          "line": 29,
          "column": 47
        },
        "end": {
          "line": 29,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 835,
      "end": 836,
      "loc": {
        "start": {
          "line": 29,
          "column": 48
        },
        "end": {
          "line": 29,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lines",
      "start": 861,
      "end": 866,
      "loc": {
        "start": {
          "line": 30,
          "column": 24
        },
        "end": {
          "line": 30,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 866,
      "end": 867,
      "loc": {
        "start": {
          "line": 30,
          "column": 29
        },
        "end": {
          "line": 30,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 868,
      "end": 869,
      "loc": {
        "start": {
          "line": 30,
          "column": 31
        },
        "end": {
          "line": 30,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 869,
      "end": 870,
      "loc": {
        "start": {
          "line": 30,
          "column": 32
        },
        "end": {
          "line": 30,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "opacity",
      "start": 871,
      "end": 878,
      "loc": {
        "start": {
          "line": 30,
          "column": 34
        },
        "end": {
          "line": 30,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 878,
      "end": 879,
      "loc": {
        "start": {
          "line": 30,
          "column": 41
        },
        "end": {
          "line": 30,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 880,
      "end": 886,
      "loc": {
        "start": {
          "line": 30,
          "column": 43
        },
        "end": {
          "line": 30,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "session",
      "start": 887,
      "end": 894,
      "loc": {
        "start": {
          "line": 30,
          "column": 50
        },
        "end": {
          "line": 30,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 894,
      "end": 895,
      "loc": {
        "start": {
          "line": 30,
          "column": 57
        },
        "end": {
          "line": 30,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 895,
      "end": 902,
      "loc": {
        "start": {
          "line": 30,
          "column": 58
        },
        "end": {
          "line": 30,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 902,
      "end": 903,
      "loc": {
        "start": {
          "line": 30,
          "column": 65
        },
        "end": {
          "line": 30,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "materials",
      "start": 903,
      "end": 912,
      "loc": {
        "start": {
          "line": 30,
          "column": 66
        },
        "end": {
          "line": 30,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 912,
      "end": 913,
      "loc": {
        "start": {
          "line": 30,
          "column": 75
        },
        "end": {
          "line": 30,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeOpacity",
      "start": 913,
      "end": 924,
      "loc": {
        "start": {
          "line": 30,
          "column": 76
        },
        "end": {
          "line": 30,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 925,
      "end": 928,
      "loc": {
        "start": {
          "line": 30,
          "column": 88
        },
        "end": {
          "line": 30,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "undefined",
      "start": 929,
      "end": 940,
      "loc": {
        "start": {
          "line": 30,
          "column": 92
        },
        "end": {
          "line": 30,
          "column": 103
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 941,
      "end": 942,
      "loc": {
        "start": {
          "line": 30,
          "column": 104
        },
        "end": {
          "line": 30,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "session",
      "start": 971,
      "end": 978,
      "loc": {
        "start": {
          "line": 31,
          "column": 28
        },
        "end": {
          "line": 31,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 978,
      "end": 979,
      "loc": {
        "start": {
          "line": 31,
          "column": 35
        },
        "end": {
          "line": 31,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 979,
      "end": 986,
      "loc": {
        "start": {
          "line": 31,
          "column": 36
        },
        "end": {
          "line": 31,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 986,
      "end": 987,
      "loc": {
        "start": {
          "line": 31,
          "column": 43
        },
        "end": {
          "line": 31,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "materials",
      "start": 987,
      "end": 996,
      "loc": {
        "start": {
          "line": 31,
          "column": 44
        },
        "end": {
          "line": 31,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 996,
      "end": 997,
      "loc": {
        "start": {
          "line": 31,
          "column": 53
        },
        "end": {
          "line": 31,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeOpacity",
      "start": 997,
      "end": 1008,
      "loc": {
        "start": {
          "line": 31,
          "column": 54
        },
        "end": {
          "line": 31,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1009,
      "end": 1010,
      "loc": {
        "start": {
          "line": 31,
          "column": 66
        },
        "end": {
          "line": 31,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1011,
      "end": 1012,
      "loc": {
        "start": {
          "line": 31,
          "column": 68
        },
        "end": {
          "line": 31,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1013,
      "end": 1014,
      "loc": {
        "start": {
          "line": 31,
          "column": 70
        },
        "end": {
          "line": 31,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1014,
      "end": 1015,
      "loc": {
        "start": {
          "line": 31,
          "column": 71
        },
        "end": {
          "line": 31,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1036,
      "end": 1037,
      "loc": {
        "start": {
          "line": 32,
          "column": 20
        },
        "end": {
          "line": 32,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1037,
      "end": 1038,
      "loc": {
        "start": {
          "line": 32,
          "column": 21
        },
        "end": {
          "line": 32,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1038,
      "end": 1039,
      "loc": {
        "start": {
          "line": 32,
          "column": 22
        },
        "end": {
          "line": 32,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1060,
      "end": 1061,
      "loc": {
        "start": {
          "line": 33,
          "column": 20
        },
        "end": {
          "line": 33,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 1061,
      "end": 1065,
      "loc": {
        "start": {
          "line": 33,
          "column": 21
        },
        "end": {
          "line": 33,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1065,
      "end": 1066,
      "loc": {
        "start": {
          "line": 33,
          "column": 25
        },
        "end": {
          "line": 33,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1066,
      "end": 1067,
      "loc": {
        "start": {
          "line": 33,
          "column": 26
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "materials",
      "start": 1068,
      "end": 1077,
      "loc": {
        "start": {
          "line": 33,
          "column": 28
        },
        "end": {
          "line": 33,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1077,
      "end": 1078,
      "loc": {
        "start": {
          "line": 33,
          "column": 37
        },
        "end": {
          "line": 33,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1079,
      "end": 1080,
      "loc": {
        "start": {
          "line": 33,
          "column": 39
        },
        "end": {
          "line": 33,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "meshes",
      "start": 1105,
      "end": 1111,
      "loc": {
        "start": {
          "line": 34,
          "column": 24
        },
        "end": {
          "line": 34,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1111,
      "end": 1112,
      "loc": {
        "start": {
          "line": 34,
          "column": 30
        },
        "end": {
          "line": 34,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1113,
      "end": 1114,
      "loc": {
        "start": {
          "line": 34,
          "column": 32
        },
        "end": {
          "line": 34,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1114,
      "end": 1115,
      "loc": {
        "start": {
          "line": 34,
          "column": 33
        },
        "end": {
          "line": 34,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "opacity",
      "start": 1116,
      "end": 1123,
      "loc": {
        "start": {
          "line": 34,
          "column": 35
        },
        "end": {
          "line": 34,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1123,
      "end": 1124,
      "loc": {
        "start": {
          "line": 34,
          "column": 42
        },
        "end": {
          "line": 34,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1125,
      "end": 1126,
      "loc": {
        "start": {
          "line": 34,
          "column": 44
        },
        "end": {
          "line": 34,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1127,
      "end": 1128,
      "loc": {
        "start": {
          "line": 34,
          "column": 46
        },
        "end": {
          "line": 34,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1128,
      "end": 1129,
      "loc": {
        "start": {
          "line": 34,
          "column": 47
        },
        "end": {
          "line": 34,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1129,
      "end": 1130,
      "loc": {
        "start": {
          "line": 34,
          "column": 48
        },
        "end": {
          "line": 34,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lines",
      "start": 1155,
      "end": 1160,
      "loc": {
        "start": {
          "line": 35,
          "column": 24
        },
        "end": {
          "line": 35,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1160,
      "end": 1161,
      "loc": {
        "start": {
          "line": 35,
          "column": 29
        },
        "end": {
          "line": 35,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1162,
      "end": 1163,
      "loc": {
        "start": {
          "line": 35,
          "column": 31
        },
        "end": {
          "line": 35,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1163,
      "end": 1164,
      "loc": {
        "start": {
          "line": 35,
          "column": 32
        },
        "end": {
          "line": 35,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "opacity",
      "start": 1165,
      "end": 1172,
      "loc": {
        "start": {
          "line": 35,
          "column": 34
        },
        "end": {
          "line": 35,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1172,
      "end": 1173,
      "loc": {
        "start": {
          "line": 35,
          "column": 41
        },
        "end": {
          "line": 35,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1174,
      "end": 1175,
      "loc": {
        "start": {
          "line": 35,
          "column": 43
        },
        "end": {
          "line": 35,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1176,
      "end": 1177,
      "loc": {
        "start": {
          "line": 35,
          "column": 45
        },
        "end": {
          "line": 35,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1177,
      "end": 1178,
      "loc": {
        "start": {
          "line": 35,
          "column": 46
        },
        "end": {
          "line": 35,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1199,
      "end": 1200,
      "loc": {
        "start": {
          "line": 36,
          "column": 20
        },
        "end": {
          "line": 36,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1200,
      "end": 1201,
      "loc": {
        "start": {
          "line": 36,
          "column": 21
        },
        "end": {
          "line": 36,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1201,
      "end": 1202,
      "loc": {
        "start": {
          "line": 36,
          "column": 22
        },
        "end": {
          "line": 36,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1223,
      "end": 1224,
      "loc": {
        "start": {
          "line": 37,
          "column": 20
        },
        "end": {
          "line": 37,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1224,
      "end": 1229,
      "loc": {
        "start": {
          "line": 37,
          "column": 21
        },
        "end": {
          "line": 37,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1229,
      "end": 1230,
      "loc": {
        "start": {
          "line": 37,
          "column": 26
        },
        "end": {
          "line": 37,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 200,
      "start": 1230,
      "end": 1233,
      "loc": {
        "start": {
          "line": 37,
          "column": 27
        },
        "end": {
          "line": 37,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1233,
      "end": 1234,
      "loc": {
        "start": {
          "line": 37,
          "column": 30
        },
        "end": {
          "line": 37,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1234,
      "end": 1235,
      "loc": {
        "start": {
          "line": 37,
          "column": 31
        },
        "end": {
          "line": 37,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "easing",
      "start": 1235,
      "end": 1241,
      "loc": {
        "start": {
          "line": 37,
          "column": 32
        },
        "end": {
          "line": 37,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1241,
      "end": 1242,
      "loc": {
        "start": {
          "line": 37,
          "column": 38
        },
        "end": {
          "line": 37,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exponential",
      "start": 1242,
      "end": 1253,
      "loc": {
        "start": {
          "line": 37,
          "column": 39
        },
        "end": {
          "line": 37,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1253,
      "end": 1254,
      "loc": {
        "start": {
          "line": 37,
          "column": 50
        },
        "end": {
          "line": 37,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "in",
        "keyword": "in",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "in",
      "start": 1254,
      "end": 1256,
      "loc": {
        "start": {
          "line": 37,
          "column": 51
        },
        "end": {
          "line": 37,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1256,
      "end": 1257,
      "loc": {
        "start": {
          "line": 37,
          "column": 53
        },
        "end": {
          "line": 37,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1266,
      "end": 1267,
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1267,
      "end": 1268,
      "loc": {
        "start": {
          "line": 38,
          "column": 9
        },
        "end": {
          "line": 38,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1268,
      "end": 1269,
      "loc": {
        "start": {
          "line": 38,
          "column": 10
        },
        "end": {
          "line": 38,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1274,
      "end": 1275,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1276,
      "end": 1277,
      "loc": {
        "start": {
          "line": 40,
          "column": 0
        },
        "end": {
          "line": 40,
          "column": 1
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Packs ArrayBuffer into deflated base64 for ClassCAD stream consumption",
      "start": 1279,
      "end": 1352,
      "loc": {
        "start": {
          "line": 42,
          "column": 0
        },
        "end": {
          "line": 42,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 1353,
      "end": 1359,
      "loc": {
        "start": {
          "line": 43,
          "column": 0
        },
        "end": {
          "line": 43,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1360,
      "end": 1365,
      "loc": {
        "start": {
          "line": 43,
          "column": 7
        },
        "end": {
          "line": 43,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pack",
      "start": 1366,
      "end": 1370,
      "loc": {
        "start": {
          "line": 43,
          "column": 13
        },
        "end": {
          "line": 43,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1371,
      "end": 1372,
      "loc": {
        "start": {
          "line": 43,
          "column": 18
        },
        "end": {
          "line": 43,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1373,
      "end": 1379,
      "loc": {
        "start": {
          "line": 43,
          "column": 20
        },
        "end": {
          "line": 43,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1380,
      "end": 1382,
      "loc": {
        "start": {
          "line": 43,
          "column": 27
        },
        "end": {
          "line": 43,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "base64",
      "start": 1383,
      "end": 1389,
      "loc": {
        "start": {
          "line": 43,
          "column": 30
        },
        "end": {
          "line": 43,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1389,
      "end": 1390,
      "loc": {
        "start": {
          "line": 43,
          "column": 36
        },
        "end": {
          "line": 43,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "encode",
      "start": 1390,
      "end": 1396,
      "loc": {
        "start": {
          "line": 43,
          "column": 37
        },
        "end": {
          "line": 43,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1396,
      "end": 1397,
      "loc": {
        "start": {
          "line": 43,
          "column": 43
        },
        "end": {
          "line": 43,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pako",
      "start": 1397,
      "end": 1401,
      "loc": {
        "start": {
          "line": 43,
          "column": 44
        },
        "end": {
          "line": 43,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1401,
      "end": 1402,
      "loc": {
        "start": {
          "line": 43,
          "column": 48
        },
        "end": {
          "line": 43,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deflate",
      "start": 1402,
      "end": 1409,
      "loc": {
        "start": {
          "line": 43,
          "column": 49
        },
        "end": {
          "line": 43,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1409,
      "end": 1410,
      "loc": {
        "start": {
          "line": 43,
          "column": 56
        },
        "end": {
          "line": 43,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buffer",
      "start": 1410,
      "end": 1416,
      "loc": {
        "start": {
          "line": 43,
          "column": 57
        },
        "end": {
          "line": 43,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1416,
      "end": 1417,
      "loc": {
        "start": {
          "line": 43,
          "column": 63
        },
        "end": {
          "line": 43,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1418,
      "end": 1419,
      "loc": {
        "start": {
          "line": 43,
          "column": 65
        },
        "end": {
          "line": 43,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "raw",
      "start": 1420,
      "end": 1423,
      "loc": {
        "start": {
          "line": 43,
          "column": 67
        },
        "end": {
          "line": 43,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1423,
      "end": 1424,
      "loc": {
        "start": {
          "line": 43,
          "column": 70
        },
        "end": {
          "line": 43,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1425,
      "end": 1429,
      "loc": {
        "start": {
          "line": 43,
          "column": 72
        },
        "end": {
          "line": 43,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1430,
      "end": 1431,
      "loc": {
        "start": {
          "line": 43,
          "column": 77
        },
        "end": {
          "line": 43,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1431,
      "end": 1432,
      "loc": {
        "start": {
          "line": 43,
          "column": 78
        },
        "end": {
          "line": 43,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1432,
      "end": 1433,
      "loc": {
        "start": {
          "line": 43,
          "column": 79
        },
        "end": {
          "line": 43,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1433,
      "end": 1434,
      "loc": {
        "start": {
          "line": 43,
          "column": 80
        },
        "end": {
          "line": 43,
          "column": 81
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Helps detecting changes in two array-states",
      "start": 1436,
      "end": 1482,
      "loc": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 45,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 1483,
      "end": 1489,
      "loc": {
        "start": {
          "line": 46,
          "column": 0
        },
        "end": {
          "line": 46,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1490,
      "end": 1495,
      "loc": {
        "start": {
          "line": 46,
          "column": 7
        },
        "end": {
          "line": 46,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arrayDiff",
      "start": 1496,
      "end": 1505,
      "loc": {
        "start": {
          "line": 46,
          "column": 13
        },
        "end": {
          "line": 46,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1506,
      "end": 1507,
      "loc": {
        "start": {
          "line": 46,
          "column": 23
        },
        "end": {
          "line": 46,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1508,
      "end": 1509,
      "loc": {
        "start": {
          "line": 46,
          "column": 25
        },
        "end": {
          "line": 46,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "next",
      "start": 1509,
      "end": 1513,
      "loc": {
        "start": {
          "line": 46,
          "column": 26
        },
        "end": {
          "line": 46,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1514,
      "end": 1515,
      "loc": {
        "start": {
          "line": 46,
          "column": 31
        },
        "end": {
          "line": 46,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1516,
      "end": 1517,
      "loc": {
        "start": {
          "line": 46,
          "column": 33
        },
        "end": {
          "line": 46,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1517,
      "end": 1518,
      "loc": {
        "start": {
          "line": 46,
          "column": 34
        },
        "end": {
          "line": 46,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1518,
      "end": 1519,
      "loc": {
        "start": {
          "line": 46,
          "column": 35
        },
        "end": {
          "line": 46,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1520,
      "end": 1527,
      "loc": {
        "start": {
          "line": 46,
          "column": 37
        },
        "end": {
          "line": 46,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1528,
      "end": 1529,
      "loc": {
        "start": {
          "line": 46,
          "column": 45
        },
        "end": {
          "line": 46,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1530,
      "end": 1531,
      "loc": {
        "start": {
          "line": 46,
          "column": 47
        },
        "end": {
          "line": 46,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1531,
      "end": 1532,
      "loc": {
        "start": {
          "line": 46,
          "column": 48
        },
        "end": {
          "line": 46,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1532,
      "end": 1533,
      "loc": {
        "start": {
          "line": 46,
          "column": 49
        },
        "end": {
          "line": 46,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackNew",
      "start": 1534,
      "end": 1545,
      "loc": {
        "start": {
          "line": 46,
          "column": 51
        },
        "end": {
          "line": 46,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1545,
      "end": 1546,
      "loc": {
        "start": {
          "line": 46,
          "column": 62
        },
        "end": {
          "line": 46,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackDeleted",
      "start": 1547,
      "end": 1562,
      "loc": {
        "start": {
          "line": 46,
          "column": 64
        },
        "end": {
          "line": 46,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1562,
      "end": 1563,
      "loc": {
        "start": {
          "line": 46,
          "column": 79
        },
        "end": {
          "line": 46,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1564,
      "end": 1566,
      "loc": {
        "start": {
          "line": 46,
          "column": 81
        },
        "end": {
          "line": 46,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1567,
      "end": 1568,
      "loc": {
        "start": {
          "line": 46,
          "column": 84
        },
        "end": {
          "line": 46,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1573,
      "end": 1576,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextSet",
      "start": 1577,
      "end": 1584,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1585,
      "end": 1586,
      "loc": {
        "start": {
          "line": 47,
          "column": 16
        },
        "end": {
          "line": 47,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1587,
      "end": 1590,
      "loc": {
        "start": {
          "line": 47,
          "column": 18
        },
        "end": {
          "line": 47,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Set",
      "start": 1591,
      "end": 1594,
      "loc": {
        "start": {
          "line": 47,
          "column": 22
        },
        "end": {
          "line": 47,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1594,
      "end": 1595,
      "loc": {
        "start": {
          "line": 47,
          "column": 25
        },
        "end": {
          "line": 47,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "next",
      "start": 1595,
      "end": 1599,
      "loc": {
        "start": {
          "line": 47,
          "column": 26
        },
        "end": {
          "line": 47,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1599,
      "end": 1600,
      "loc": {
        "start": {
          "line": 47,
          "column": 30
        },
        "end": {
          "line": 47,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1600,
      "end": 1601,
      "loc": {
        "start": {
          "line": 47,
          "column": 31
        },
        "end": {
          "line": 47,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1606,
      "end": 1609,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 48,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentSet",
      "start": 1610,
      "end": 1620,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1621,
      "end": 1622,
      "loc": {
        "start": {
          "line": 48,
          "column": 19
        },
        "end": {
          "line": 48,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1623,
      "end": 1626,
      "loc": {
        "start": {
          "line": 48,
          "column": 21
        },
        "end": {
          "line": 48,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Set",
      "start": 1627,
      "end": 1630,
      "loc": {
        "start": {
          "line": 48,
          "column": 25
        },
        "end": {
          "line": 48,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1630,
      "end": 1631,
      "loc": {
        "start": {
          "line": 48,
          "column": 28
        },
        "end": {
          "line": 48,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1631,
      "end": 1638,
      "loc": {
        "start": {
          "line": 48,
          "column": 29
        },
        "end": {
          "line": 48,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1638,
      "end": 1639,
      "loc": {
        "start": {
          "line": 48,
          "column": 36
        },
        "end": {
          "line": 48,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1639,
      "end": 1640,
      "loc": {
        "start": {
          "line": 48,
          "column": 37
        },
        "end": {
          "line": 48,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1645,
      "end": 1648,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "promises",
      "start": 1649,
      "end": 1657,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1658,
      "end": 1659,
      "loc": {
        "start": {
          "line": 49,
          "column": 17
        },
        "end": {
          "line": 49,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1660,
      "end": 1661,
      "loc": {
        "start": {
          "line": 49,
          "column": 19
        },
        "end": {
          "line": 49,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1661,
      "end": 1662,
      "loc": {
        "start": {
          "line": 49,
          "column": 20
        },
        "end": {
          "line": 49,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1662,
      "end": 1663,
      "loc": {
        "start": {
          "line": 49,
          "column": 21
        },
        "end": {
          "line": 49,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1669,
      "end": 1671,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 51,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1672,
      "end": 1673,
      "loc": {
        "start": {
          "line": 51,
          "column": 7
        },
        "end": {
          "line": 51,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackNew",
      "start": 1673,
      "end": 1684,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1684,
      "end": 1685,
      "loc": {
        "start": {
          "line": 51,
          "column": 19
        },
        "end": {
          "line": 51,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1686,
      "end": 1687,
      "loc": {
        "start": {
          "line": 51,
          "column": 21
        },
        "end": {
          "line": 51,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1696,
      "end": 1699,
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 52,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newItems",
      "start": 1700,
      "end": 1708,
      "loc": {
        "start": {
          "line": 52,
          "column": 12
        },
        "end": {
          "line": 52,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1709,
      "end": 1710,
      "loc": {
        "start": {
          "line": 52,
          "column": 21
        },
        "end": {
          "line": 52,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "next",
      "start": 1711,
      "end": 1715,
      "loc": {
        "start": {
          "line": 52,
          "column": 23
        },
        "end": {
          "line": 52,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1715,
      "end": 1716,
      "loc": {
        "start": {
          "line": 52,
          "column": 27
        },
        "end": {
          "line": 52,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "filter",
      "start": 1716,
      "end": 1722,
      "loc": {
        "start": {
          "line": 52,
          "column": 28
        },
        "end": {
          "line": 52,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1722,
      "end": 1723,
      "loc": {
        "start": {
          "line": 52,
          "column": 34
        },
        "end": {
          "line": 52,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "item",
      "start": 1723,
      "end": 1727,
      "loc": {
        "start": {
          "line": 52,
          "column": 35
        },
        "end": {
          "line": 52,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1728,
      "end": 1730,
      "loc": {
        "start": {
          "line": 52,
          "column": 40
        },
        "end": {
          "line": 52,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1731,
      "end": 1732,
      "loc": {
        "start": {
          "line": 52,
          "column": 43
        },
        "end": {
          "line": 52,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentSet",
      "start": 1732,
      "end": 1742,
      "loc": {
        "start": {
          "line": 52,
          "column": 44
        },
        "end": {
          "line": 52,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1742,
      "end": 1743,
      "loc": {
        "start": {
          "line": 52,
          "column": 54
        },
        "end": {
          "line": 52,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "has",
      "start": 1743,
      "end": 1746,
      "loc": {
        "start": {
          "line": 52,
          "column": 55
        },
        "end": {
          "line": 52,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1746,
      "end": 1747,
      "loc": {
        "start": {
          "line": 52,
          "column": 58
        },
        "end": {
          "line": 52,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "item",
      "start": 1747,
      "end": 1751,
      "loc": {
        "start": {
          "line": 52,
          "column": 59
        },
        "end": {
          "line": 52,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1751,
      "end": 1752,
      "loc": {
        "start": {
          "line": 52,
          "column": 63
        },
        "end": {
          "line": 52,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1752,
      "end": 1753,
      "loc": {
        "start": {
          "line": 52,
          "column": 64
        },
        "end": {
          "line": 52,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1753,
      "end": 1754,
      "loc": {
        "start": {
          "line": 52,
          "column": 65
        },
        "end": {
          "line": 52,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1763,
      "end": 1765,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1766,
      "end": 1767,
      "loc": {
        "start": {
          "line": 53,
          "column": 11
        },
        "end": {
          "line": 53,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newItems",
      "start": 1767,
      "end": 1775,
      "loc": {
        "start": {
          "line": 53,
          "column": 12
        },
        "end": {
          "line": 53,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1775,
      "end": 1776,
      "loc": {
        "start": {
          "line": 53,
          "column": 20
        },
        "end": {
          "line": 53,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1776,
      "end": 1782,
      "loc": {
        "start": {
          "line": 53,
          "column": 21
        },
        "end": {
          "line": 53,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1782,
      "end": 1783,
      "loc": {
        "start": {
          "line": 53,
          "column": 27
        },
        "end": {
          "line": 53,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1784,
      "end": 1785,
      "loc": {
        "start": {
          "line": 53,
          "column": 29
        },
        "end": {
          "line": 53,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1798,
      "end": 1801,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 1802,
      "end": 1809,
      "loc": {
        "start": {
          "line": 54,
          "column": 16
        },
        "end": {
          "line": 54,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1810,
      "end": 1811,
      "loc": {
        "start": {
          "line": 54,
          "column": 24
        },
        "end": {
          "line": 54,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackNew",
      "start": 1812,
      "end": 1823,
      "loc": {
        "start": {
          "line": 54,
          "column": 26
        },
        "end": {
          "line": 54,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1823,
      "end": 1824,
      "loc": {
        "start": {
          "line": 54,
          "column": 37
        },
        "end": {
          "line": 54,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newItems",
      "start": 1824,
      "end": 1832,
      "loc": {
        "start": {
          "line": 54,
          "column": 38
        },
        "end": {
          "line": 54,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1832,
      "end": 1833,
      "loc": {
        "start": {
          "line": 54,
          "column": 46
        },
        "end": {
          "line": 54,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1833,
      "end": 1834,
      "loc": {
        "start": {
          "line": 54,
          "column": 47
        },
        "end": {
          "line": 54,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1847,
      "end": 1849,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1850,
      "end": 1851,
      "loc": {
        "start": {
          "line": 55,
          "column": 15
        },
        "end": {
          "line": 55,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 1851,
      "end": 1858,
      "loc": {
        "start": {
          "line": 55,
          "column": 16
        },
        "end": {
          "line": 55,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1858,
      "end": 1859,
      "loc": {
        "start": {
          "line": 55,
          "column": 23
        },
        "end": {
          "line": 55,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1860,
      "end": 1861,
      "loc": {
        "start": {
          "line": 55,
          "column": 25
        },
        "end": {
          "line": 55,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "promises",
      "start": 1878,
      "end": 1886,
      "loc": {
        "start": {
          "line": 56,
          "column": 16
        },
        "end": {
          "line": 56,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1887,
      "end": 1888,
      "loc": {
        "start": {
          "line": 56,
          "column": 25
        },
        "end": {
          "line": 56,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 1889,
      "end": 1896,
      "loc": {
        "start": {
          "line": 56,
          "column": 27
        },
        "end": {
          "line": 56,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1896,
      "end": 1897,
      "loc": {
        "start": {
          "line": 56,
          "column": 34
        },
        "end": {
          "line": 56,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1910,
      "end": 1911,
      "loc": {
        "start": {
          "line": 57,
          "column": 12
        },
        "end": {
          "line": 57,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1920,
      "end": 1921,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1926,
      "end": 1927,
      "loc": {
        "start": {
          "line": 59,
          "column": 4
        },
        "end": {
          "line": 59,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1933,
      "end": 1935,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1936,
      "end": 1937,
      "loc": {
        "start": {
          "line": 61,
          "column": 7
        },
        "end": {
          "line": 61,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackDeleted",
      "start": 1937,
      "end": 1952,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 61,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1952,
      "end": 1953,
      "loc": {
        "start": {
          "line": 61,
          "column": 23
        },
        "end": {
          "line": 61,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1954,
      "end": 1955,
      "loc": {
        "start": {
          "line": 61,
          "column": 25
        },
        "end": {
          "line": 61,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1964,
      "end": 1967,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deletedItems",
      "start": 1968,
      "end": 1980,
      "loc": {
        "start": {
          "line": 62,
          "column": 12
        },
        "end": {
          "line": 62,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1981,
      "end": 1982,
      "loc": {
        "start": {
          "line": 62,
          "column": 25
        },
        "end": {
          "line": 62,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1983,
      "end": 1990,
      "loc": {
        "start": {
          "line": 62,
          "column": 27
        },
        "end": {
          "line": 62,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1990,
      "end": 1991,
      "loc": {
        "start": {
          "line": 62,
          "column": 34
        },
        "end": {
          "line": 62,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "filter",
      "start": 1991,
      "end": 1997,
      "loc": {
        "start": {
          "line": 62,
          "column": 35
        },
        "end": {
          "line": 62,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1997,
      "end": 1998,
      "loc": {
        "start": {
          "line": 62,
          "column": 41
        },
        "end": {
          "line": 62,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "item",
      "start": 1998,
      "end": 2002,
      "loc": {
        "start": {
          "line": 62,
          "column": 42
        },
        "end": {
          "line": 62,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2003,
      "end": 2005,
      "loc": {
        "start": {
          "line": 62,
          "column": 47
        },
        "end": {
          "line": 62,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2006,
      "end": 2007,
      "loc": {
        "start": {
          "line": 62,
          "column": 50
        },
        "end": {
          "line": 62,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextSet",
      "start": 2007,
      "end": 2014,
      "loc": {
        "start": {
          "line": 62,
          "column": 51
        },
        "end": {
          "line": 62,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2014,
      "end": 2015,
      "loc": {
        "start": {
          "line": 62,
          "column": 58
        },
        "end": {
          "line": 62,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "has",
      "start": 2015,
      "end": 2018,
      "loc": {
        "start": {
          "line": 62,
          "column": 59
        },
        "end": {
          "line": 62,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2018,
      "end": 2019,
      "loc": {
        "start": {
          "line": 62,
          "column": 62
        },
        "end": {
          "line": 62,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "item",
      "start": 2019,
      "end": 2023,
      "loc": {
        "start": {
          "line": 62,
          "column": 63
        },
        "end": {
          "line": 62,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2023,
      "end": 2024,
      "loc": {
        "start": {
          "line": 62,
          "column": 67
        },
        "end": {
          "line": 62,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2024,
      "end": 2025,
      "loc": {
        "start": {
          "line": 62,
          "column": 68
        },
        "end": {
          "line": 62,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2034,
      "end": 2036,
      "loc": {
        "start": {
          "line": 63,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2037,
      "end": 2038,
      "loc": {
        "start": {
          "line": 63,
          "column": 11
        },
        "end": {
          "line": 63,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deletedItems",
      "start": 2038,
      "end": 2050,
      "loc": {
        "start": {
          "line": 63,
          "column": 12
        },
        "end": {
          "line": 63,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2050,
      "end": 2051,
      "loc": {
        "start": {
          "line": 63,
          "column": 24
        },
        "end": {
          "line": 63,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2051,
      "end": 2057,
      "loc": {
        "start": {
          "line": 63,
          "column": 25
        },
        "end": {
          "line": 63,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2057,
      "end": 2058,
      "loc": {
        "start": {
          "line": 63,
          "column": 31
        },
        "end": {
          "line": 63,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2059,
      "end": 2060,
      "loc": {
        "start": {
          "line": 63,
          "column": 33
        },
        "end": {
          "line": 63,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2073,
      "end": 2076,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 2077,
      "end": 2084,
      "loc": {
        "start": {
          "line": 64,
          "column": 16
        },
        "end": {
          "line": 64,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2085,
      "end": 2086,
      "loc": {
        "start": {
          "line": 64,
          "column": 24
        },
        "end": {
          "line": 64,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackDeleted",
      "start": 2087,
      "end": 2102,
      "loc": {
        "start": {
          "line": 64,
          "column": 26
        },
        "end": {
          "line": 64,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2102,
      "end": 2103,
      "loc": {
        "start": {
          "line": 64,
          "column": 41
        },
        "end": {
          "line": 64,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deletedItems",
      "start": 2103,
      "end": 2115,
      "loc": {
        "start": {
          "line": 64,
          "column": 42
        },
        "end": {
          "line": 64,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2115,
      "end": 2116,
      "loc": {
        "start": {
          "line": 64,
          "column": 54
        },
        "end": {
          "line": 64,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2116,
      "end": 2117,
      "loc": {
        "start": {
          "line": 64,
          "column": 55
        },
        "end": {
          "line": 64,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2130,
      "end": 2132,
      "loc": {
        "start": {
          "line": 65,
          "column": 12
        },
        "end": {
          "line": 65,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2133,
      "end": 2134,
      "loc": {
        "start": {
          "line": 65,
          "column": 15
        },
        "end": {
          "line": 65,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 2134,
      "end": 2141,
      "loc": {
        "start": {
          "line": 65,
          "column": 16
        },
        "end": {
          "line": 65,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2141,
      "end": 2142,
      "loc": {
        "start": {
          "line": 65,
          "column": 23
        },
        "end": {
          "line": 65,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2143,
      "end": 2144,
      "loc": {
        "start": {
          "line": 65,
          "column": 25
        },
        "end": {
          "line": 65,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "promises",
      "start": 2161,
      "end": 2169,
      "loc": {
        "start": {
          "line": 66,
          "column": 16
        },
        "end": {
          "line": 66,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2170,
      "end": 2171,
      "loc": {
        "start": {
          "line": 66,
          "column": 25
        },
        "end": {
          "line": 66,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2172,
      "end": 2173,
      "loc": {
        "start": {
          "line": 66,
          "column": 27
        },
        "end": {
          "line": 66,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2174,
      "end": 2177,
      "loc": {
        "start": {
          "line": 66,
          "column": 29
        },
        "end": {
          "line": 66,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "promises",
      "start": 2177,
      "end": 2185,
      "loc": {
        "start": {
          "line": 66,
          "column": 32
        },
        "end": {
          "line": 66,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2185,
      "end": 2186,
      "loc": {
        "start": {
          "line": 66,
          "column": 40
        },
        "end": {
          "line": 66,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2187,
      "end": 2190,
      "loc": {
        "start": {
          "line": 66,
          "column": 42
        },
        "end": {
          "line": 66,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 2190,
      "end": 2197,
      "loc": {
        "start": {
          "line": 66,
          "column": 45
        },
        "end": {
          "line": 66,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2198,
      "end": 2199,
      "loc": {
        "start": {
          "line": 66,
          "column": 53
        },
        "end": {
          "line": 66,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2199,
      "end": 2200,
      "loc": {
        "start": {
          "line": 66,
          "column": 54
        },
        "end": {
          "line": 66,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2213,
      "end": 2214,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2223,
      "end": 2224,
      "loc": {
        "start": {
          "line": 68,
          "column": 8
        },
        "end": {
          "line": 68,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2229,
      "end": 2230,
      "loc": {
        "start": {
          "line": 69,
          "column": 4
        },
        "end": {
          "line": 69,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2236,
      "end": 2242,
      "loc": {
        "start": {
          "line": 71,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 2243,
      "end": 2250,
      "loc": {
        "start": {
          "line": 71,
          "column": 11
        },
        "end": {
          "line": 71,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2250,
      "end": 2251,
      "loc": {
        "start": {
          "line": 71,
          "column": 18
        },
        "end": {
          "line": 71,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "all",
      "start": 2251,
      "end": 2254,
      "loc": {
        "start": {
          "line": 71,
          "column": 19
        },
        "end": {
          "line": 71,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2254,
      "end": 2255,
      "loc": {
        "start": {
          "line": 71,
          "column": 22
        },
        "end": {
          "line": 71,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "promises",
      "start": 2255,
      "end": 2263,
      "loc": {
        "start": {
          "line": 71,
          "column": 23
        },
        "end": {
          "line": 71,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2263,
      "end": 2264,
      "loc": {
        "start": {
          "line": 71,
          "column": 31
        },
        "end": {
          "line": 71,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2264,
      "end": 2265,
      "loc": {
        "start": {
          "line": 71,
          "column": 32
        },
        "end": {
          "line": 71,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2266,
      "end": 2267,
      "loc": {
        "start": {
          "line": 72,
          "column": 0
        },
        "end": {
          "line": 72,
          "column": 1
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " State observe with pre-select and user-select",
      "start": 2269,
      "end": 2317,
      "loc": {
        "start": {
          "line": 74,
          "column": 0
        },
        "end": {
          "line": 74,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 2318,
      "end": 2324,
      "loc": {
        "start": {
          "line": 75,
          "column": 0
        },
        "end": {
          "line": 75,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2325,
      "end": 2330,
      "loc": {
        "start": {
          "line": 75,
          "column": 7
        },
        "end": {
          "line": 75,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "createObserver",
      "start": 2331,
      "end": 2345,
      "loc": {
        "start": {
          "line": 75,
          "column": 13
        },
        "end": {
          "line": 75,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2346,
      "end": 2347,
      "loc": {
        "start": {
          "line": 75,
          "column": 28
        },
        "end": {
          "line": 75,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2348,
      "end": 2349,
      "loc": {
        "start": {
          "line": 75,
          "column": 30
        },
        "end": {
          "line": 75,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "store",
      "start": 2349,
      "end": 2354,
      "loc": {
        "start": {
          "line": 75,
          "column": 31
        },
        "end": {
          "line": 75,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2354,
      "end": 2355,
      "loc": {
        "start": {
          "line": 75,
          "column": 36
        },
        "end": {
          "line": 75,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preSelect",
      "start": 2356,
      "end": 2365,
      "loc": {
        "start": {
          "line": 75,
          "column": 38
        },
        "end": {
          "line": 75,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2366,
      "end": 2367,
      "loc": {
        "start": {
          "line": 75,
          "column": 48
        },
        "end": {
          "line": 75,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "store",
      "start": 2368,
      "end": 2373,
      "loc": {
        "start": {
          "line": 75,
          "column": 50
        },
        "end": {
          "line": 75,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2373,
      "end": 2374,
      "loc": {
        "start": {
          "line": 75,
          "column": 55
        },
        "end": {
          "line": 75,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getState",
      "start": 2374,
      "end": 2382,
      "loc": {
        "start": {
          "line": 75,
          "column": 56
        },
        "end": {
          "line": 75,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2382,
      "end": 2383,
      "loc": {
        "start": {
          "line": 75,
          "column": 64
        },
        "end": {
          "line": 75,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2384,
      "end": 2386,
      "loc": {
        "start": {
          "line": 75,
          "column": 66
        },
        "end": {
          "line": 75,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2387,
      "end": 2388,
      "loc": {
        "start": {
          "line": 75,
          "column": 69
        },
        "end": {
          "line": 75,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2393,
      "end": 2394,
      "loc": {
        "start": {
          "line": 76,
          "column": 4
        },
        "end": {
          "line": 76,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "userSelect",
      "start": 2394,
      "end": 2404,
      "loc": {
        "start": {
          "line": 76,
          "column": 5
        },
        "end": {
          "line": 76,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2404,
      "end": 2405,
      "loc": {
        "start": {
          "line": 76,
          "column": 15
        },
        "end": {
          "line": 76,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChange",
      "start": 2406,
      "end": 2414,
      "loc": {
        "start": {
          "line": 76,
          "column": 17
        },
        "end": {
          "line": 76,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2414,
      "end": 2415,
      "loc": {
        "start": {
          "line": 76,
          "column": 25
        },
        "end": {
          "line": 76,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2416,
      "end": 2423,
      "loc": {
        "start": {
          "line": 76,
          "column": 27
        },
        "end": {
          "line": 76,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2424,
      "end": 2425,
      "loc": {
        "start": {
          "line": 76,
          "column": 35
        },
        "end": {
          "line": 76,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2426,
      "end": 2427,
      "loc": {
        "start": {
          "line": 76,
          "column": 37
        },
        "end": {
          "line": 76,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2427,
      "end": 2428,
      "loc": {
        "start": {
          "line": 76,
          "column": 38
        },
        "end": {
          "line": 76,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2428,
      "end": 2429,
      "loc": {
        "start": {
          "line": 76,
          "column": 39
        },
        "end": {
          "line": 76,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2430,
      "end": 2432,
      "loc": {
        "start": {
          "line": 76,
          "column": 41
        },
        "end": {
          "line": 76,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2433,
      "end": 2434,
      "loc": {
        "start": {
          "line": 76,
          "column": 44
        },
        "end": {
          "line": 76,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2443,
      "end": 2448,
      "loc": {
        "start": {
          "line": 77,
          "column": 8
        },
        "end": {
          "line": 77,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2449,
      "end": 2450,
      "loc": {
        "start": {
          "line": 77,
          "column": 14
        },
        "end": {
          "line": 77,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fireOnStart",
      "start": 2463,
      "end": 2474,
      "loc": {
        "start": {
          "line": 78,
          "column": 12
        },
        "end": {
          "line": 78,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2475,
      "end": 2476,
      "loc": {
        "start": {
          "line": 78,
          "column": 24
        },
        "end": {
          "line": 78,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 2477,
      "end": 2482,
      "loc": {
        "start": {
          "line": 78,
          "column": 26
        },
        "end": {
          "line": 78,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2482,
      "end": 2483,
      "loc": {
        "start": {
          "line": 78,
          "column": 31
        },
        "end": {
          "line": 78,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " trigger onChange immediately",
      "start": 2496,
      "end": 2527,
      "loc": {
        "start": {
          "line": 78,
          "column": 45
        },
        "end": {
          "line": 78,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribeOnUndefined",
      "start": 2540,
      "end": 2562,
      "loc": {
        "start": {
          "line": 79,
          "column": 12
        },
        "end": {
          "line": 79,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2563,
      "end": 2564,
      "loc": {
        "start": {
          "line": 79,
          "column": 35
        },
        "end": {
          "line": 79,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 2565,
      "end": 2570,
      "loc": {
        "start": {
          "line": 79,
          "column": 37
        },
        "end": {
          "line": 79,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2570,
      "end": 2571,
      "loc": {
        "start": {
          "line": 79,
          "column": 42
        },
        "end": {
          "line": 79,
          "column": 43
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " unsubscribe if userSelect() returns undefined",
      "start": 2573,
      "end": 2621,
      "loc": {
        "start": {
          "line": 79,
          "column": 45
        },
        "end": {
          "line": 79,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onRemove",
      "start": 2634,
      "end": 2642,
      "loc": {
        "start": {
          "line": 80,
          "column": 12
        },
        "end": {
          "line": 80,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2643,
      "end": 2644,
      "loc": {
        "start": {
          "line": 80,
          "column": 21
        },
        "end": {
          "line": 80,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 2645,
      "end": 2654,
      "loc": {
        "start": {
          "line": 80,
          "column": 23
        },
        "end": {
          "line": 80,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2654,
      "end": 2655,
      "loc": {
        "start": {
          "line": 80,
          "column": 32
        },
        "end": {
          "line": 80,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " callback when state changes to undefined",
      "start": 2667,
      "end": 2710,
      "loc": {
        "start": {
          "line": 80,
          "column": 45
        },
        "end": {
          "line": 80,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "manager",
      "start": 2723,
      "end": 2730,
      "loc": {
        "start": {
          "line": 81,
          "column": 12
        },
        "end": {
          "line": 81,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2731,
      "end": 2732,
      "loc": {
        "start": {
          "line": 81,
          "column": 20
        },
        "end": {
          "line": 81,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 2733,
      "end": 2742,
      "loc": {
        "start": {
          "line": 81,
          "column": 22
        },
        "end": {
          "line": 81,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2742,
      "end": 2743,
      "loc": {
        "start": {
          "line": 81,
          "column": 31
        },
        "end": {
          "line": 81,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " callback to pass unsubscribe function to",
      "start": 2756,
      "end": 2799,
      "loc": {
        "start": {
          "line": 81,
          "column": 45
        },
        "end": {
          "line": 81,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2808,
      "end": 2809,
      "loc": {
        "start": {
          "line": 82,
          "column": 8
        },
        "end": {
          "line": 82,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2810,
      "end": 2811,
      "loc": {
        "start": {
          "line": 82,
          "column": 10
        },
        "end": {
          "line": 82,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2812,
      "end": 2819,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2819,
      "end": 2820,
      "loc": {
        "start": {
          "line": 82,
          "column": 19
        },
        "end": {
          "line": 82,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2830,
      "end": 2833,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "finish",
      "start": 2834,
      "end": 2840,
      "loc": {
        "start": {
          "line": 84,
          "column": 12
        },
        "end": {
          "line": 84,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2840,
      "end": 2841,
      "loc": {
        "start": {
          "line": 84,
          "column": 18
        },
        "end": {
          "line": 84,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribed",
      "start": 2842,
      "end": 2854,
      "loc": {
        "start": {
          "line": 84,
          "column": 20
        },
        "end": {
          "line": 84,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2855,
      "end": 2856,
      "loc": {
        "start": {
          "line": 84,
          "column": 33
        },
        "end": {
          "line": 84,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 2857,
      "end": 2862,
      "loc": {
        "start": {
          "line": 84,
          "column": 35
        },
        "end": {
          "line": 84,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2862,
      "end": 2863,
      "loc": {
        "start": {
          "line": 84,
          "column": 40
        },
        "end": {
          "line": 84,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2872,
      "end": 2875,
      "loc": {
        "start": {
          "line": 85,
          "column": 8
        },
        "end": {
          "line": 85,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preselect",
      "start": 2876,
      "end": 2885,
      "loc": {
        "start": {
          "line": 85,
          "column": 12
        },
        "end": {
          "line": 85,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2885,
      "end": 2886,
      "loc": {
        "start": {
          "line": 85,
          "column": 21
        },
        "end": {
          "line": 85,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 2887,
      "end": 2892,
      "loc": {
        "start": {
          "line": 85,
          "column": 23
        },
        "end": {
          "line": 85,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2892,
      "end": 2893,
      "loc": {
        "start": {
          "line": 85,
          "column": 28
        },
        "end": {
          "line": 85,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2902,
      "end": 2904,
      "loc": {
        "start": {
          "line": 86,
          "column": 8
        },
        "end": {
          "line": 86,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2905,
      "end": 2906,
      "loc": {
        "start": {
          "line": 86,
          "column": 11
        },
        "end": {
          "line": 86,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2906,
      "end": 2907,
      "loc": {
        "start": {
          "line": 86,
          "column": 12
        },
        "end": {
          "line": 86,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preselect",
      "start": 2907,
      "end": 2916,
      "loc": {
        "start": {
          "line": 86,
          "column": 13
        },
        "end": {
          "line": 86,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2917,
      "end": 2918,
      "loc": {
        "start": {
          "line": 86,
          "column": 23
        },
        "end": {
          "line": 86,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preSelect",
      "start": 2919,
      "end": 2928,
      "loc": {
        "start": {
          "line": 86,
          "column": 25
        },
        "end": {
          "line": 86,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2928,
      "end": 2929,
      "loc": {
        "start": {
          "line": 86,
          "column": 34
        },
        "end": {
          "line": 86,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2929,
      "end": 2930,
      "loc": {
        "start": {
          "line": 86,
          "column": 35
        },
        "end": {
          "line": 86,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2930,
      "end": 2931,
      "loc": {
        "start": {
          "line": 86,
          "column": 36
        },
        "end": {
          "line": 86,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2932,
      "end": 2935,
      "loc": {
        "start": {
          "line": 86,
          "column": 38
        },
        "end": {
          "line": 86,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 2936,
      "end": 2945,
      "loc": {
        "start": {
          "line": 86,
          "column": 42
        },
        "end": {
          "line": 86,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2946,
      "end": 2948,
      "loc": {
        "start": {
          "line": 86,
          "column": 52
        },
        "end": {
          "line": 86,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2949,
      "end": 2950,
      "loc": {
        "start": {
          "line": 86,
          "column": 55
        },
        "end": {
          "line": 86,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2950,
      "end": 2951,
      "loc": {
        "start": {
          "line": 86,
          "column": 56
        },
        "end": {
          "line": 86,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 2951,
      "end": 2956,
      "loc": {
        "start": {
          "line": 86,
          "column": 57
        },
        "end": {
          "line": 86,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2957,
      "end": 2958,
      "loc": {
        "start": {
          "line": 86,
          "column": 63
        },
        "end": {
          "line": 86,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "userSelect",
      "start": 2959,
      "end": 2969,
      "loc": {
        "start": {
          "line": 86,
          "column": 65
        },
        "end": {
          "line": 86,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2969,
      "end": 2970,
      "loc": {
        "start": {
          "line": 86,
          "column": 75
        },
        "end": {
          "line": 86,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preselect",
      "start": 2970,
      "end": 2979,
      "loc": {
        "start": {
          "line": 86,
          "column": 76
        },
        "end": {
          "line": 86,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2979,
      "end": 2980,
      "loc": {
        "start": {
          "line": 86,
          "column": 85
        },
        "end": {
          "line": 86,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2980,
      "end": 2981,
      "loc": {
        "start": {
          "line": 86,
          "column": 86
        },
        "end": {
          "line": 86,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2982,
      "end": 2985,
      "loc": {
        "start": {
          "line": 86,
          "column": 88
        },
        "end": {
          "line": 86,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 2986,
      "end": 2995,
      "loc": {
        "start": {
          "line": 86,
          "column": 92
        },
        "end": {
          "line": 86,
          "column": 101
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2996,
      "end": 2998,
      "loc": {
        "start": {
          "line": 86,
          "column": 102
        },
        "end": {
          "line": 86,
          "column": 104
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribeOnUndefined",
      "start": 2999,
      "end": 3021,
      "loc": {
        "start": {
          "line": 86,
          "column": 105
        },
        "end": {
          "line": 86,
          "column": 127
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3021,
      "end": 3022,
      "loc": {
        "start": {
          "line": 86,
          "column": 127
        },
        "end": {
          "line": 86,
          "column": 128
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3022,
      "end": 3023,
      "loc": {
        "start": {
          "line": 86,
          "column": 128
        },
        "end": {
          "line": 86,
          "column": 129
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3036,
      "end": 3042,
      "loc": {
        "start": {
          "line": 87,
          "column": 12
        },
        "end": {
          "line": 87,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3043,
      "end": 3044,
      "loc": {
        "start": {
          "line": 87,
          "column": 19
        },
        "end": {
          "line": 87,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3044,
      "end": 3045,
      "loc": {
        "start": {
          "line": 87,
          "column": 20
        },
        "end": {
          "line": 87,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3046,
      "end": 3048,
      "loc": {
        "start": {
          "line": 87,
          "column": 22
        },
        "end": {
          "line": 87,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3049,
      "end": 3050,
      "loc": {
        "start": {
          "line": 87,
          "column": 25
        },
        "end": {
          "line": 87,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3050,
      "end": 3051,
      "loc": {
        "start": {
          "line": 87,
          "column": 26
        },
        "end": {
          "line": 87,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3051,
      "end": 3052,
      "loc": {
        "start": {
          "line": 87,
          "column": 27
        },
        "end": {
          "line": 87,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 3062,
      "end": 3067,
      "loc": {
        "start": {
          "line": 89,
          "column": 8
        },
        "end": {
          "line": 89,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleChange",
      "start": 3068,
      "end": 3080,
      "loc": {
        "start": {
          "line": 89,
          "column": 14
        },
        "end": {
          "line": 89,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3081,
      "end": 3082,
      "loc": {
        "start": {
          "line": 89,
          "column": 27
        },
        "end": {
          "line": 89,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3083,
      "end": 3084,
      "loc": {
        "start": {
          "line": 89,
          "column": 29
        },
        "end": {
          "line": 89,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3084,
      "end": 3085,
      "loc": {
        "start": {
          "line": 89,
          "column": 30
        },
        "end": {
          "line": 89,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3086,
      "end": 3088,
      "loc": {
        "start": {
          "line": 89,
          "column": 32
        },
        "end": {
          "line": 89,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3089,
      "end": 3090,
      "loc": {
        "start": {
          "line": 89,
          "column": 35
        },
        "end": {
          "line": 89,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3103,
      "end": 3105,
      "loc": {
        "start": {
          "line": 90,
          "column": 12
        },
        "end": {
          "line": 90,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3106,
      "end": 3107,
      "loc": {
        "start": {
          "line": 90,
          "column": 15
        },
        "end": {
          "line": 90,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribed",
      "start": 3107,
      "end": 3119,
      "loc": {
        "start": {
          "line": 90,
          "column": 16
        },
        "end": {
          "line": 90,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3119,
      "end": 3120,
      "loc": {
        "start": {
          "line": 90,
          "column": 28
        },
        "end": {
          "line": 90,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3137,
      "end": 3143,
      "loc": {
        "start": {
          "line": 91,
          "column": 16
        },
        "end": {
          "line": 91,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3143,
      "end": 3144,
      "loc": {
        "start": {
          "line": 91,
          "column": 22
        },
        "end": {
          "line": 91,
          "column": 23
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Get pre-selected state",
      "start": 3157,
      "end": 3182,
      "loc": {
        "start": {
          "line": 92,
          "column": 12
        },
        "end": {
          "line": 92,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 3195,
      "end": 3200,
      "loc": {
        "start": {
          "line": 93,
          "column": 12
        },
        "end": {
          "line": 93,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "previousState",
      "start": 3201,
      "end": 3214,
      "loc": {
        "start": {
          "line": 93,
          "column": 18
        },
        "end": {
          "line": 93,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3215,
      "end": 3216,
      "loc": {
        "start": {
          "line": 93,
          "column": 32
        },
        "end": {
          "line": 93,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3217,
      "end": 3222,
      "loc": {
        "start": {
          "line": 93,
          "column": 34
        },
        "end": {
          "line": 93,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3222,
      "end": 3223,
      "loc": {
        "start": {
          "line": 93,
          "column": 39
        },
        "end": {
          "line": 93,
          "column": 40
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Unsubscribe if preselect or state is undefined",
      "start": 3236,
      "end": 3285,
      "loc": {
        "start": {
          "line": 94,
          "column": 12
        },
        "end": {
          "line": 94,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3298,
      "end": 3300,
      "loc": {
        "start": {
          "line": 95,
          "column": 12
        },
        "end": {
          "line": 95,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3301,
      "end": 3302,
      "loc": {
        "start": {
          "line": 95,
          "column": 15
        },
        "end": {
          "line": 95,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3302,
      "end": 3303,
      "loc": {
        "start": {
          "line": 95,
          "column": 16
        },
        "end": {
          "line": 95,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preselect",
      "start": 3303,
      "end": 3312,
      "loc": {
        "start": {
          "line": 95,
          "column": 17
        },
        "end": {
          "line": 95,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3313,
      "end": 3314,
      "loc": {
        "start": {
          "line": 95,
          "column": 27
        },
        "end": {
          "line": 95,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preSelect",
      "start": 3315,
      "end": 3324,
      "loc": {
        "start": {
          "line": 95,
          "column": 29
        },
        "end": {
          "line": 95,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3324,
      "end": 3325,
      "loc": {
        "start": {
          "line": 95,
          "column": 38
        },
        "end": {
          "line": 95,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3325,
      "end": 3326,
      "loc": {
        "start": {
          "line": 95,
          "column": 39
        },
        "end": {
          "line": 95,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3326,
      "end": 3327,
      "loc": {
        "start": {
          "line": 95,
          "column": 40
        },
        "end": {
          "line": 95,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3328,
      "end": 3331,
      "loc": {
        "start": {
          "line": 95,
          "column": 42
        },
        "end": {
          "line": 95,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 3332,
      "end": 3341,
      "loc": {
        "start": {
          "line": 95,
          "column": 46
        },
        "end": {
          "line": 95,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3342,
      "end": 3344,
      "loc": {
        "start": {
          "line": 95,
          "column": 56
        },
        "end": {
          "line": 95,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3345,
      "end": 3346,
      "loc": {
        "start": {
          "line": 95,
          "column": 59
        },
        "end": {
          "line": 95,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3346,
      "end": 3347,
      "loc": {
        "start": {
          "line": 95,
          "column": 60
        },
        "end": {
          "line": 95,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3347,
      "end": 3352,
      "loc": {
        "start": {
          "line": 95,
          "column": 61
        },
        "end": {
          "line": 95,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3353,
      "end": 3354,
      "loc": {
        "start": {
          "line": 95,
          "column": 67
        },
        "end": {
          "line": 95,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "userSelect",
      "start": 3355,
      "end": 3365,
      "loc": {
        "start": {
          "line": 95,
          "column": 69
        },
        "end": {
          "line": 95,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3365,
      "end": 3366,
      "loc": {
        "start": {
          "line": 95,
          "column": 79
        },
        "end": {
          "line": 95,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preselect",
      "start": 3366,
      "end": 3375,
      "loc": {
        "start": {
          "line": 95,
          "column": 80
        },
        "end": {
          "line": 95,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3375,
      "end": 3376,
      "loc": {
        "start": {
          "line": 95,
          "column": 89
        },
        "end": {
          "line": 95,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3376,
      "end": 3377,
      "loc": {
        "start": {
          "line": 95,
          "column": 90
        },
        "end": {
          "line": 95,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3378,
      "end": 3381,
      "loc": {
        "start": {
          "line": 95,
          "column": 92
        },
        "end": {
          "line": 95,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 3382,
      "end": 3391,
      "loc": {
        "start": {
          "line": 95,
          "column": 96
        },
        "end": {
          "line": 95,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 3392,
      "end": 3394,
      "loc": {
        "start": {
          "line": 95,
          "column": 106
        },
        "end": {
          "line": 95,
          "column": 108
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribeOnUndefined",
      "start": 3395,
      "end": 3417,
      "loc": {
        "start": {
          "line": 95,
          "column": 109
        },
        "end": {
          "line": 95,
          "column": 131
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3417,
      "end": 3418,
      "loc": {
        "start": {
          "line": 95,
          "column": 131
        },
        "end": {
          "line": 95,
          "column": 132
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3418,
      "end": 3419,
      "loc": {
        "start": {
          "line": 95,
          "column": 132
        },
        "end": {
          "line": 95,
          "column": 133
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3420,
      "end": 3421,
      "loc": {
        "start": {
          "line": 95,
          "column": 134
        },
        "end": {
          "line": 95,
          "column": 135
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " revert state so that finish calls onRemove on a good state",
      "start": 3438,
      "end": 3499,
      "loc": {
        "start": {
          "line": 96,
          "column": 16
        },
        "end": {
          "line": 96,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3516,
      "end": 3521,
      "loc": {
        "start": {
          "line": 97,
          "column": 16
        },
        "end": {
          "line": 97,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3522,
      "end": 3523,
      "loc": {
        "start": {
          "line": 97,
          "column": 22
        },
        "end": {
          "line": 97,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "previousState",
      "start": 3524,
      "end": 3537,
      "loc": {
        "start": {
          "line": 97,
          "column": 24
        },
        "end": {
          "line": 97,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3537,
      "end": 3538,
      "loc": {
        "start": {
          "line": 97,
          "column": 37
        },
        "end": {
          "line": 97,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3555,
      "end": 3561,
      "loc": {
        "start": {
          "line": 98,
          "column": 16
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "finish",
      "start": 3562,
      "end": 3568,
      "loc": {
        "start": {
          "line": 98,
          "column": 23
        },
        "end": {
          "line": 98,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3568,
      "end": 3569,
      "loc": {
        "start": {
          "line": 98,
          "column": 29
        },
        "end": {
          "line": 98,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3569,
      "end": 3570,
      "loc": {
        "start": {
          "line": 98,
          "column": 30
        },
        "end": {
          "line": 98,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3570,
      "end": 3571,
      "loc": {
        "start": {
          "line": 98,
          "column": 31
        },
        "end": {
          "line": 98,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3584,
      "end": 3585,
      "loc": {
        "start": {
          "line": 99,
          "column": 12
        },
        "end": {
          "line": 99,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3598,
      "end": 3600,
      "loc": {
        "start": {
          "line": 100,
          "column": 12
        },
        "end": {
          "line": 100,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3601,
      "end": 3602,
      "loc": {
        "start": {
          "line": 100,
          "column": 15
        },
        "end": {
          "line": 100,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3602,
      "end": 3607,
      "loc": {
        "start": {
          "line": 100,
          "column": 16
        },
        "end": {
          "line": 100,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3608,
      "end": 3611,
      "loc": {
        "start": {
          "line": 100,
          "column": 22
        },
        "end": {
          "line": 100,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "previousState",
      "start": 3612,
      "end": 3625,
      "loc": {
        "start": {
          "line": 100,
          "column": 26
        },
        "end": {
          "line": 100,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3625,
      "end": 3626,
      "loc": {
        "start": {
          "line": 100,
          "column": 39
        },
        "end": {
          "line": 100,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3643,
      "end": 3649,
      "loc": {
        "start": {
          "line": 101,
          "column": 16
        },
        "end": {
          "line": 101,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3649,
      "end": 3650,
      "loc": {
        "start": {
          "line": 101,
          "column": 22
        },
        "end": {
          "line": 101,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChange",
      "start": 3663,
      "end": 3671,
      "loc": {
        "start": {
          "line": 102,
          "column": 12
        },
        "end": {
          "line": 102,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3671,
      "end": 3672,
      "loc": {
        "start": {
          "line": 102,
          "column": 20
        },
        "end": {
          "line": 102,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3672,
      "end": 3677,
      "loc": {
        "start": {
          "line": 102,
          "column": 21
        },
        "end": {
          "line": 102,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3677,
      "end": 3678,
      "loc": {
        "start": {
          "line": 102,
          "column": 26
        },
        "end": {
          "line": 102,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "previousState",
      "start": 3679,
      "end": 3692,
      "loc": {
        "start": {
          "line": 102,
          "column": 28
        },
        "end": {
          "line": 102,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3692,
      "end": 3693,
      "loc": {
        "start": {
          "line": 102,
          "column": 41
        },
        "end": {
          "line": 102,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3693,
      "end": 3694,
      "loc": {
        "start": {
          "line": 102,
          "column": 42
        },
        "end": {
          "line": 102,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3703,
      "end": 3704,
      "loc": {
        "start": {
          "line": 103,
          "column": 8
        },
        "end": {
          "line": 103,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3704,
      "end": 3705,
      "loc": {
        "start": {
          "line": 103,
          "column": 9
        },
        "end": {
          "line": 103,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Subscribe to store, fire on start, return hooked unsubscribe",
      "start": 3715,
      "end": 3778,
      "loc": {
        "start": {
          "line": 105,
          "column": 8
        },
        "end": {
          "line": 105,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3787,
      "end": 3789,
      "loc": {
        "start": {
          "line": 106,
          "column": 8
        },
        "end": {
          "line": 106,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3790,
      "end": 3791,
      "loc": {
        "start": {
          "line": 106,
          "column": 11
        },
        "end": {
          "line": 106,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fireOnStart",
      "start": 3791,
      "end": 3802,
      "loc": {
        "start": {
          "line": 106,
          "column": 12
        },
        "end": {
          "line": 106,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3802,
      "end": 3803,
      "loc": {
        "start": {
          "line": 106,
          "column": 23
        },
        "end": {
          "line": 106,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3804,
      "end": 3805,
      "loc": {
        "start": {
          "line": 106,
          "column": 25
        },
        "end": {
          "line": 106,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3818,
      "end": 3823,
      "loc": {
        "start": {
          "line": 107,
          "column": 12
        },
        "end": {
          "line": 107,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3824,
      "end": 3825,
      "loc": {
        "start": {
          "line": 107,
          "column": 18
        },
        "end": {
          "line": 107,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 3826,
      "end": 3835,
      "loc": {
        "start": {
          "line": 107,
          "column": 20
        },
        "end": {
          "line": 107,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3835,
      "end": 3836,
      "loc": {
        "start": {
          "line": 107,
          "column": 29
        },
        "end": {
          "line": 107,
          "column": 30
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " so that onChange is called with prev === undefined",
      "start": 3837,
      "end": 3890,
      "loc": {
        "start": {
          "line": 107,
          "column": 31
        },
        "end": {
          "line": 107,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleChange",
      "start": 3903,
      "end": 3915,
      "loc": {
        "start": {
          "line": 108,
          "column": 12
        },
        "end": {
          "line": 108,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3915,
      "end": 3916,
      "loc": {
        "start": {
          "line": 108,
          "column": 24
        },
        "end": {
          "line": 108,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3916,
      "end": 3917,
      "loc": {
        "start": {
          "line": 108,
          "column": 25
        },
        "end": {
          "line": 108,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3917,
      "end": 3918,
      "loc": {
        "start": {
          "line": 108,
          "column": 26
        },
        "end": {
          "line": 108,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3927,
      "end": 3928,
      "loc": {
        "start": {
          "line": 109,
          "column": 8
        },
        "end": {
          "line": 109,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 3937,
      "end": 3942,
      "loc": {
        "start": {
          "line": 110,
          "column": 8
        },
        "end": {
          "line": 110,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribe",
      "start": 3943,
      "end": 3954,
      "loc": {
        "start": {
          "line": 110,
          "column": 14
        },
        "end": {
          "line": 110,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3955,
      "end": 3956,
      "loc": {
        "start": {
          "line": 110,
          "column": 26
        },
        "end": {
          "line": 110,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "store",
      "start": 3957,
      "end": 3962,
      "loc": {
        "start": {
          "line": 110,
          "column": 28
        },
        "end": {
          "line": 110,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3962,
      "end": 3963,
      "loc": {
        "start": {
          "line": 110,
          "column": 33
        },
        "end": {
          "line": 110,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "subscribe",
      "start": 3963,
      "end": 3972,
      "loc": {
        "start": {
          "line": 110,
          "column": 34
        },
        "end": {
          "line": 110,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3972,
      "end": 3973,
      "loc": {
        "start": {
          "line": 110,
          "column": 43
        },
        "end": {
          "line": 110,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleChange",
      "start": 3973,
      "end": 3985,
      "loc": {
        "start": {
          "line": 110,
          "column": 44
        },
        "end": {
          "line": 110,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3985,
      "end": 3986,
      "loc": {
        "start": {
          "line": 110,
          "column": 56
        },
        "end": {
          "line": 110,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3986,
      "end": 3987,
      "loc": {
        "start": {
          "line": 110,
          "column": 57
        },
        "end": {
          "line": 110,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "finish",
      "start": 3997,
      "end": 4003,
      "loc": {
        "start": {
          "line": 112,
          "column": 8
        },
        "end": {
          "line": 112,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4004,
      "end": 4005,
      "loc": {
        "start": {
          "line": 112,
          "column": 15
        },
        "end": {
          "line": 112,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4006,
      "end": 4007,
      "loc": {
        "start": {
          "line": 112,
          "column": 17
        },
        "end": {
          "line": 112,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4007,
      "end": 4008,
      "loc": {
        "start": {
          "line": 112,
          "column": 18
        },
        "end": {
          "line": 112,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4009,
      "end": 4011,
      "loc": {
        "start": {
          "line": 112,
          "column": 20
        },
        "end": {
          "line": 112,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4012,
      "end": 4013,
      "loc": {
        "start": {
          "line": 112,
          "column": 23
        },
        "end": {
          "line": 112,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4026,
      "end": 4028,
      "loc": {
        "start": {
          "line": 113,
          "column": 12
        },
        "end": {
          "line": 113,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4029,
      "end": 4030,
      "loc": {
        "start": {
          "line": 113,
          "column": 15
        },
        "end": {
          "line": 113,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribed",
      "start": 4030,
      "end": 4042,
      "loc": {
        "start": {
          "line": 113,
          "column": 16
        },
        "end": {
          "line": 113,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4042,
      "end": 4043,
      "loc": {
        "start": {
          "line": 113,
          "column": 28
        },
        "end": {
          "line": 113,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4060,
      "end": 4066,
      "loc": {
        "start": {
          "line": 114,
          "column": 16
        },
        "end": {
          "line": 114,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4066,
      "end": 4067,
      "loc": {
        "start": {
          "line": 114,
          "column": 22
        },
        "end": {
          "line": 114,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribed",
      "start": 4080,
      "end": 4092,
      "loc": {
        "start": {
          "line": 115,
          "column": 12
        },
        "end": {
          "line": 115,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4093,
      "end": 4094,
      "loc": {
        "start": {
          "line": 115,
          "column": 25
        },
        "end": {
          "line": 115,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 4095,
      "end": 4099,
      "loc": {
        "start": {
          "line": 115,
          "column": 27
        },
        "end": {
          "line": 115,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4099,
      "end": 4100,
      "loc": {
        "start": {
          "line": 115,
          "column": 31
        },
        "end": {
          "line": 115,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unsubscribe",
      "start": 4113,
      "end": 4124,
      "loc": {
        "start": {
          "line": 116,
          "column": 12
        },
        "end": {
          "line": 116,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4124,
      "end": 4125,
      "loc": {
        "start": {
          "line": 116,
          "column": 23
        },
        "end": {
          "line": 116,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4125,
      "end": 4126,
      "loc": {
        "start": {
          "line": 116,
          "column": 24
        },
        "end": {
          "line": 116,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4126,
      "end": 4127,
      "loc": {
        "start": {
          "line": 116,
          "column": 25
        },
        "end": {
          "line": 116,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onRemove",
      "start": 4140,
      "end": 4148,
      "loc": {
        "start": {
          "line": 117,
          "column": 12
        },
        "end": {
          "line": 117,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4149,
      "end": 4151,
      "loc": {
        "start": {
          "line": 117,
          "column": 21
        },
        "end": {
          "line": 117,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onRemove",
      "start": 4152,
      "end": 4160,
      "loc": {
        "start": {
          "line": 117,
          "column": 24
        },
        "end": {
          "line": 117,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4160,
      "end": 4161,
      "loc": {
        "start": {
          "line": 117,
          "column": 32
        },
        "end": {
          "line": 117,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 4161,
      "end": 4166,
      "loc": {
        "start": {
          "line": 117,
          "column": 33
        },
        "end": {
          "line": 117,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4166,
      "end": 4167,
      "loc": {
        "start": {
          "line": 117,
          "column": 38
        },
        "end": {
          "line": 117,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "finish",
      "start": 4168,
      "end": 4174,
      "loc": {
        "start": {
          "line": 117,
          "column": 40
        },
        "end": {
          "line": 117,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4174,
      "end": 4175,
      "loc": {
        "start": {
          "line": 117,
          "column": 46
        },
        "end": {
          "line": 117,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4175,
      "end": 4176,
      "loc": {
        "start": {
          "line": 117,
          "column": 47
        },
        "end": {
          "line": 117,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4185,
      "end": 4186,
      "loc": {
        "start": {
          "line": 118,
          "column": 8
        },
        "end": {
          "line": 118,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4186,
      "end": 4187,
      "loc": {
        "start": {
          "line": 118,
          "column": 9
        },
        "end": {
          "line": 118,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Call manager, if available. This allows classes to track subscribes and clean up",
      "start": 4197,
      "end": 4280,
      "loc": {
        "start": {
          "line": 120,
          "column": 8
        },
        "end": {
          "line": 120,
          "column": 91
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " in bulk once they are destroyed.",
      "start": 4289,
      "end": 4324,
      "loc": {
        "start": {
          "line": 121,
          "column": 8
        },
        "end": {
          "line": 121,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4333,
      "end": 4335,
      "loc": {
        "start": {
          "line": 122,
          "column": 8
        },
        "end": {
          "line": 122,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4336,
      "end": 4337,
      "loc": {
        "start": {
          "line": 122,
          "column": 11
        },
        "end": {
          "line": 122,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "manager",
      "start": 4337,
      "end": 4344,
      "loc": {
        "start": {
          "line": 122,
          "column": 12
        },
        "end": {
          "line": 122,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4344,
      "end": 4345,
      "loc": {
        "start": {
          "line": 122,
          "column": 19
        },
        "end": {
          "line": 122,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "manager",
      "start": 4358,
      "end": 4365,
      "loc": {
        "start": {
          "line": 123,
          "column": 12
        },
        "end": {
          "line": 123,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4365,
      "end": 4366,
      "loc": {
        "start": {
          "line": 123,
          "column": 19
        },
        "end": {
          "line": 123,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "finish",
      "start": 4366,
      "end": 4372,
      "loc": {
        "start": {
          "line": 123,
          "column": 20
        },
        "end": {
          "line": 123,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4372,
      "end": 4373,
      "loc": {
        "start": {
          "line": 123,
          "column": 26
        },
        "end": {
          "line": 123,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4373,
      "end": 4374,
      "loc": {
        "start": {
          "line": 123,
          "column": 27
        },
        "end": {
          "line": 123,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4384,
      "end": 4390,
      "loc": {
        "start": {
          "line": 125,
          "column": 8
        },
        "end": {
          "line": 125,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "finish",
      "start": 4391,
      "end": 4397,
      "loc": {
        "start": {
          "line": 125,
          "column": 15
        },
        "end": {
          "line": 125,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4397,
      "end": 4398,
      "loc": {
        "start": {
          "line": 125,
          "column": 21
        },
        "end": {
          "line": 125,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4403,
      "end": 4404,
      "loc": {
        "start": {
          "line": 126,
          "column": 4
        },
        "end": {
          "line": 126,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4405,
      "end": 4406,
      "loc": {
        "start": {
          "line": 127,
          "column": 0
        },
        "end": {
          "line": 127,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4406,
      "end": 4407,
      "loc": {
        "start": {
          "line": 127,
          "column": 1
        },
        "end": {
          "line": 127,
          "column": 2
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Build ClassAD feature path (_O. ...)",
      "start": 4409,
      "end": 4448,
      "loc": {
        "start": {
          "line": 129,
          "column": 0
        },
        "end": {
          "line": 129,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 4449,
      "end": 4455,
      "loc": {
        "start": {
          "line": 130,
          "column": 0
        },
        "end": {
          "line": 130,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4456,
      "end": 4461,
      "loc": {
        "start": {
          "line": 130,
          "column": 7
        },
        "end": {
          "line": 130,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buildFeaturePath",
      "start": 4462,
      "end": 4478,
      "loc": {
        "start": {
          "line": 130,
          "column": 13
        },
        "end": {
          "line": 130,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4479,
      "end": 4480,
      "loc": {
        "start": {
          "line": 130,
          "column": 30
        },
        "end": {
          "line": 130,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4481,
      "end": 4482,
      "loc": {
        "start": {
          "line": 130,
          "column": 32
        },
        "end": {
          "line": 130,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tree",
      "start": 4482,
      "end": 4486,
      "loc": {
        "start": {
          "line": 130,
          "column": 33
        },
        "end": {
          "line": 130,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4486,
      "end": 4487,
      "loc": {
        "start": {
          "line": 130,
          "column": 37
        },
        "end": {
          "line": 130,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "feature",
      "start": 4488,
      "end": 4495,
      "loc": {
        "start": {
          "line": 130,
          "column": 39
        },
        "end": {
          "line": 130,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4495,
      "end": 4496,
      "loc": {
        "start": {
          "line": 130,
          "column": 46
        },
        "end": {
          "line": 130,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4497,
      "end": 4499,
      "loc": {
        "start": {
          "line": 130,
          "column": 48
        },
        "end": {
          "line": 130,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4500,
      "end": 4501,
      "loc": {
        "start": {
          "line": 130,
          "column": 51
        },
        "end": {
          "line": 130,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4506,
      "end": 4508,
      "loc": {
        "start": {
          "line": 131,
          "column": 4
        },
        "end": {
          "line": 131,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4509,
      "end": 4510,
      "loc": {
        "start": {
          "line": 131,
          "column": 7
        },
        "end": {
          "line": 131,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 4510,
      "end": 4516,
      "loc": {
        "start": {
          "line": 131,
          "column": 8
        },
        "end": {
          "line": 131,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "feature",
      "start": 4517,
      "end": 4524,
      "loc": {
        "start": {
          "line": 131,
          "column": 15
        },
        "end": {
          "line": 131,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 4525,
      "end": 4528,
      "loc": {
        "start": {
          "line": 131,
          "column": 23
        },
        "end": {
          "line": 131,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "object",
      "start": 4529,
      "end": 4537,
      "loc": {
        "start": {
          "line": 131,
          "column": 27
        },
        "end": {
          "line": 131,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4538,
      "end": 4539,
      "loc": {
        "start": {
          "line": 131,
          "column": 36
        },
        "end": {
          "line": 131,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "feature",
      "start": 4548,
      "end": 4555,
      "loc": {
        "start": {
          "line": 132,
          "column": 8
        },
        "end": {
          "line": 132,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4556,
      "end": 4557,
      "loc": {
        "start": {
          "line": 132,
          "column": 16
        },
        "end": {
          "line": 132,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tree",
      "start": 4558,
      "end": 4562,
      "loc": {
        "start": {
          "line": 132,
          "column": 18
        },
        "end": {
          "line": 132,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4562,
      "end": 4563,
      "loc": {
        "start": {
          "line": 132,
          "column": 22
        },
        "end": {
          "line": 132,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "feature",
      "start": 4563,
      "end": 4570,
      "loc": {
        "start": {
          "line": 132,
          "column": 23
        },
        "end": {
          "line": 132,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4570,
      "end": 4571,
      "loc": {
        "start": {
          "line": 132,
          "column": 30
        },
        "end": {
          "line": 132,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4571,
      "end": 4572,
      "loc": {
        "start": {
          "line": 132,
          "column": 31
        },
        "end": {
          "line": 132,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4577,
      "end": 4580,
      "loc": {
        "start": {
          "line": 133,
          "column": 4
        },
        "end": {
          "line": 133,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 4581,
      "end": 4585,
      "loc": {
        "start": {
          "line": 133,
          "column": 8
        },
        "end": {
          "line": 133,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4586,
      "end": 4587,
      "loc": {
        "start": {
          "line": 133,
          "column": 13
        },
        "end": {
          "line": 133,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4588,
      "end": 4589,
      "loc": {
        "start": {
          "line": 133,
          "column": 15
        },
        "end": {
          "line": 133,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "normalizeName",
      "start": 4589,
      "end": 4602,
      "loc": {
        "start": {
          "line": 133,
          "column": 16
        },
        "end": {
          "line": 133,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4602,
      "end": 4603,
      "loc": {
        "start": {
          "line": 133,
          "column": 29
        },
        "end": {
          "line": 133,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "feature",
      "start": 4603,
      "end": 4610,
      "loc": {
        "start": {
          "line": 133,
          "column": 30
        },
        "end": {
          "line": 133,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4610,
      "end": 4611,
      "loc": {
        "start": {
          "line": 133,
          "column": 37
        },
        "end": {
          "line": 133,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4611,
      "end": 4615,
      "loc": {
        "start": {
          "line": 133,
          "column": 38
        },
        "end": {
          "line": 133,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4615,
      "end": 4616,
      "loc": {
        "start": {
          "line": 133,
          "column": 42
        },
        "end": {
          "line": 133,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4616,
      "end": 4617,
      "loc": {
        "start": {
          "line": 133,
          "column": 43
        },
        "end": {
          "line": 133,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4617,
      "end": 4618,
      "loc": {
        "start": {
          "line": 133,
          "column": 44
        },
        "end": {
          "line": 133,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 4619,
      "end": 4625,
      "loc": {
        "start": {
          "line": 133,
          "column": 46
        },
        "end": {
          "line": 133,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4626,
      "end": 4627,
      "loc": {
        "start": {
          "line": 133,
          "column": 53
        },
        "end": {
          "line": 133,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "feature",
      "start": 4628,
      "end": 4635,
      "loc": {
        "start": {
          "line": 133,
          "column": 55
        },
        "end": {
          "line": 133,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4635,
      "end": 4636,
      "loc": {
        "start": {
          "line": 133,
          "column": 62
        },
        "end": {
          "line": 133,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "while",
        "keyword": "while",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "while",
      "start": 4641,
      "end": 4646,
      "loc": {
        "start": {
          "line": 134,
          "column": 4
        },
        "end": {
          "line": 134,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4647,
      "end": 4648,
      "loc": {
        "start": {
          "line": 134,
          "column": 10
        },
        "end": {
          "line": 134,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 4648,
      "end": 4654,
      "loc": {
        "start": {
          "line": 134,
          "column": 11
        },
        "end": {
          "line": 134,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4655,
      "end": 4657,
      "loc": {
        "start": {
          "line": 134,
          "column": 18
        },
        "end": {
          "line": 134,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 4658,
      "end": 4664,
      "loc": {
        "start": {
          "line": 134,
          "column": 21
        },
        "end": {
          "line": 134,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4664,
      "end": 4665,
      "loc": {
        "start": {
          "line": 134,
          "column": 27
        },
        "end": {
          "line": 134,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 4665,
      "end": 4671,
      "loc": {
        "start": {
          "line": 134,
          "column": 28
        },
        "end": {
          "line": 134,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 4672,
      "end": 4673,
      "loc": {
        "start": {
          "line": 134,
          "column": 35
        },
        "end": {
          "line": 134,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 4674,
      "end": 4675,
      "loc": {
        "start": {
          "line": 134,
          "column": 37
        },
        "end": {
          "line": 134,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4675,
      "end": 4676,
      "loc": {
        "start": {
          "line": 134,
          "column": 38
        },
        "end": {
          "line": 134,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4677,
      "end": 4678,
      "loc": {
        "start": {
          "line": 134,
          "column": 40
        },
        "end": {
          "line": 134,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 4687,
      "end": 4693,
      "loc": {
        "start": {
          "line": 135,
          "column": 8
        },
        "end": {
          "line": 135,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4694,
      "end": 4695,
      "loc": {
        "start": {
          "line": 135,
          "column": 15
        },
        "end": {
          "line": 135,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tree",
      "start": 4696,
      "end": 4700,
      "loc": {
        "start": {
          "line": 135,
          "column": 17
        },
        "end": {
          "line": 135,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4700,
      "end": 4701,
      "loc": {
        "start": {
          "line": 135,
          "column": 21
        },
        "end": {
          "line": 135,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 4701,
      "end": 4707,
      "loc": {
        "start": {
          "line": 135,
          "column": 22
        },
        "end": {
          "line": 135,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4707,
      "end": 4708,
      "loc": {
        "start": {
          "line": 135,
          "column": 28
        },
        "end": {
          "line": 135,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 4708,
      "end": 4714,
      "loc": {
        "start": {
          "line": 135,
          "column": 29
        },
        "end": {
          "line": 135,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4714,
      "end": 4715,
      "loc": {
        "start": {
          "line": 135,
          "column": 35
        },
        "end": {
          "line": 135,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4715,
      "end": 4716,
      "loc": {
        "start": {
          "line": 135,
          "column": 36
        },
        "end": {
          "line": 135,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 4725,
      "end": 4729,
      "loc": {
        "start": {
          "line": 136,
          "column": 8
        },
        "end": {
          "line": 136,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4729,
      "end": 4730,
      "loc": {
        "start": {
          "line": 136,
          "column": 12
        },
        "end": {
          "line": 136,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 4730,
      "end": 4734,
      "loc": {
        "start": {
          "line": 136,
          "column": 13
        },
        "end": {
          "line": 136,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4734,
      "end": 4735,
      "loc": {
        "start": {
          "line": 136,
          "column": 17
        },
        "end": {
          "line": 136,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "normalizeName",
      "start": 4735,
      "end": 4748,
      "loc": {
        "start": {
          "line": 136,
          "column": 18
        },
        "end": {
          "line": 136,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4748,
      "end": 4749,
      "loc": {
        "start": {
          "line": 136,
          "column": 31
        },
        "end": {
          "line": 136,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 4749,
      "end": 4755,
      "loc": {
        "start": {
          "line": 136,
          "column": 32
        },
        "end": {
          "line": 136,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4755,
      "end": 4756,
      "loc": {
        "start": {
          "line": 136,
          "column": 38
        },
        "end": {
          "line": 136,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4756,
      "end": 4760,
      "loc": {
        "start": {
          "line": 136,
          "column": 39
        },
        "end": {
          "line": 136,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4760,
      "end": 4761,
      "loc": {
        "start": {
          "line": 136,
          "column": 43
        },
        "end": {
          "line": 136,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4761,
      "end": 4762,
      "loc": {
        "start": {
          "line": 136,
          "column": 44
        },
        "end": {
          "line": 136,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4767,
      "end": 4768,
      "loc": {
        "start": {
          "line": 137,
          "column": 4
        },
        "end": {
          "line": 137,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4773,
      "end": 4779,
      "loc": {
        "start": {
          "line": 138,
          "column": 4
        },
        "end": {
          "line": 138,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "_O.",
      "start": 4780,
      "end": 4785,
      "loc": {
        "start": {
          "line": 138,
          "column": 11
        },
        "end": {
          "line": 138,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 4786,
      "end": 4787,
      "loc": {
        "start": {
          "line": 138,
          "column": 17
        },
        "end": {
          "line": 138,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 4788,
      "end": 4792,
      "loc": {
        "start": {
          "line": 138,
          "column": 19
        },
        "end": {
          "line": 138,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4792,
      "end": 4793,
      "loc": {
        "start": {
          "line": 138,
          "column": 23
        },
        "end": {
          "line": 138,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reverse",
      "start": 4793,
      "end": 4800,
      "loc": {
        "start": {
          "line": 138,
          "column": 24
        },
        "end": {
          "line": 138,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4800,
      "end": 4801,
      "loc": {
        "start": {
          "line": 138,
          "column": 31
        },
        "end": {
          "line": 138,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4801,
      "end": 4802,
      "loc": {
        "start": {
          "line": 138,
          "column": 32
        },
        "end": {
          "line": 138,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4802,
      "end": 4803,
      "loc": {
        "start": {
          "line": 138,
          "column": 33
        },
        "end": {
          "line": 138,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "join",
      "start": 4803,
      "end": 4807,
      "loc": {
        "start": {
          "line": 138,
          "column": 34
        },
        "end": {
          "line": 138,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4807,
      "end": 4808,
      "loc": {
        "start": {
          "line": 138,
          "column": 38
        },
        "end": {
          "line": 138,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 4808,
      "end": 4811,
      "loc": {
        "start": {
          "line": 138,
          "column": 39
        },
        "end": {
          "line": 138,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4811,
      "end": 4812,
      "loc": {
        "start": {
          "line": 138,
          "column": 42
        },
        "end": {
          "line": 138,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4812,
      "end": 4813,
      "loc": {
        "start": {
          "line": 138,
          "column": 43
        },
        "end": {
          "line": 138,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4814,
      "end": 4815,
      "loc": {
        "start": {
          "line": 139,
          "column": 0
        },
        "end": {
          "line": 139,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 4817,
      "end": 4823,
      "loc": {
        "start": {
          "line": 141,
          "column": 0
        },
        "end": {
          "line": 141,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4824,
      "end": 4829,
      "loc": {
        "start": {
          "line": 141,
          "column": 7
        },
        "end": {
          "line": 141,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "normalizeName",
      "start": 4830,
      "end": 4843,
      "loc": {
        "start": {
          "line": 141,
          "column": 13
        },
        "end": {
          "line": 141,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4844,
      "end": 4845,
      "loc": {
        "start": {
          "line": 141,
          "column": 27
        },
        "end": {
          "line": 141,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4846,
      "end": 4850,
      "loc": {
        "start": {
          "line": 141,
          "column": 29
        },
        "end": {
          "line": 141,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4851,
      "end": 4853,
      "loc": {
        "start": {
          "line": 141,
          "column": 34
        },
        "end": {
          "line": 141,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4854,
      "end": 4855,
      "loc": {
        "start": {
          "line": 141,
          "column": 37
        },
        "end": {
          "line": 141,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4860,
      "end": 4866,
      "loc": {
        "start": {
          "line": 142,
          "column": 4
        },
        "end": {
          "line": 142,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4867,
      "end": 4871,
      "loc": {
        "start": {
          "line": 142,
          "column": 11
        },
        "end": {
          "line": 142,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4871,
      "end": 4872,
      "loc": {
        "start": {
          "line": 142,
          "column": 15
        },
        "end": {
          "line": 142,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 4872,
      "end": 4879,
      "loc": {
        "start": {
          "line": 142,
          "column": 16
        },
        "end": {
          "line": 142,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4879,
      "end": 4880,
      "loc": {
        "start": {
          "line": 142,
          "column": 23
        },
        "end": {
          "line": 142,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "(\\s|-|\\r?\\n)",
        "flags": "g"
      },
      "start": 4880,
      "end": 4895,
      "loc": {
        "start": {
          "line": 142,
          "column": 24
        },
        "end": {
          "line": 142,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4895,
      "end": 4896,
      "loc": {
        "start": {
          "line": 142,
          "column": 39
        },
        "end": {
          "line": 142,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 4897,
      "end": 4899,
      "loc": {
        "start": {
          "line": 142,
          "column": 41
        },
        "end": {
          "line": 142,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4899,
      "end": 4900,
      "loc": {
        "start": {
          "line": 142,
          "column": 43
        },
        "end": {
          "line": 142,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4900,
      "end": 4901,
      "loc": {
        "start": {
          "line": 142,
          "column": 44
        },
        "end": {
          "line": 142,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4902,
      "end": 4903,
      "loc": {
        "start": {
          "line": 143,
          "column": 0
        },
        "end": {
          "line": 143,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4904,
      "end": 4904,
      "loc": {
        "start": {
          "line": 144,
          "column": 0
        },
        "end": {
          "line": 144,
          "column": 0
        }
      }
    }
  ]
}