{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [],
      "source": {
        "type": "Literal",
        "value": "array.prototype.find",
        "raw": "\"array.prototype.find\"",
        "range": [
          7,
          29
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 7
          },
          "end": {
            "line": 1,
            "column": 29
          }
        }
      },
      "range": [
        0,
        30
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 30
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "local": {
            "type": "Identifier",
            "name": "AjaxAdapter",
            "range": [
              38,
              49
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 18
              }
            }
          },
          "range": [
            38,
            49
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 18
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./ajax-adapter",
        "raw": "\"./ajax-adapter\"",
        "range": [
          55,
          71
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 24
          },
          "end": {
            "line": 2,
            "column": 40
          }
        }
      },
      "range": [
        31,
        72
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 41
        }
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "declaration": {
        "type": "ClassDeclaration",
        "id": {
          "type": "Identifier",
          "name": "Store",
          "range": [
            95,
            100
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 21
            },
            "end": {
              "line": 4,
              "column": 26
            }
          }
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "body": [
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "attr",
                "range": [
                  438,
                  442
                ],
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 9
                  },
                  "end": {
                    "line": 15,
                    "column": 13
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "name",
                    "range": [
                      443,
                      447
                    ],
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 14
                      },
                      "end": {
                        "line": 15,
                        "column": 18
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "options",
                    "range": [
                      449,
                      456
                    ],
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 20
                      },
                      "end": {
                        "line": 15,
                        "column": 27
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "Identifier",
                          "name": "name",
                          "range": [
                            468,
                            472
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 12
                            }
                          }
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "operator": "===",
                          "left": {
                            "type": "UnaryExpression",
                            "operator": "typeof",
                            "argument": {
                              "type": "Identifier",
                              "name": "name",
                              "range": [
                                483,
                                487
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 23
                                },
                                "end": {
                                  "line": 16,
                                  "column": 27
                                }
                              }
                            },
                            "prefix": true,
                            "range": [
                              476,
                              487
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 16
                              },
                              "end": {
                                "line": 16,
                                "column": 27
                              }
                            }
                          },
                          "right": {
                            "type": "Literal",
                            "value": "object",
                            "raw": "'object'",
                            "range": [
                              492,
                              500
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 32
                              },
                              "end": {
                                "line": 16,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            476,
                            500
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 16
                            },
                            "end": {
                              "line": 16,
                              "column": 40
                            }
                          }
                        },
                        "range": [
                          468,
                          500
                        ],
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 8
                          },
                          "end": {
                            "line": 16,
                            "column": 40
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "Store",
                                  "range": [
                                    517,
                                    522
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 18
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "attr",
                                  "range": [
                                    523,
                                    527
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  517,
                                  527
                                ],
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 23
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": null,
                                  "raw": "null",
                                  "range": [
                                    528,
                                    532
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 28
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "name",
                                  "range": [
                                    534,
                                    538
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 34
                                    }
                                  }
                                }
                              ],
                              "range": [
                                517,
                                539
                              ],
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 13
                                },
                                "end": {
                                  "line": 17,
                                  "column": 35
                                }
                              }
                            },
                            "range": [
                              510,
                              540
                            ],
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 6
                              },
                              "end": {
                                "line": 17,
                                "column": 36
                              }
                            }
                          }
                        ],
                        "range": [
                          502,
                          546
                        ],
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 42
                          },
                          "end": {
                            "line": 18,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "ObjectExpression",
                              "properties": [
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      577,
                                      581
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "value": "attr",
                                    "raw": "\"attr\"",
                                    "range": [
                                      583,
                                      589
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    577,
                                    589
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 20
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "default",
                                    "range": [
                                      599,
                                      606
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "LogicalExpression",
                                    "operator": "&&",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "options",
                                      "range": [
                                        608,
                                        615
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "options",
                                        "range": [
                                          619,
                                          626
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "default",
                                        "range": [
                                          627,
                                          634
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        619,
                                        634
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      608,
                                      634
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    599,
                                    634
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 43
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "deserialize",
                                    "range": [
                                      644,
                                      655
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 22,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 22,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "FunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "data",
                                        "range": [
                                          667,
                                          671
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 35
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "key",
                                        "range": [
                                          673,
                                          676
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 40
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ReturnStatement",
                                          "argument": {
                                            "type": "LogicalExpression",
                                            "operator": "&&",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "data",
                                                "range": [
                                                  697,
                                                  701
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 23,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 23,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "attributes",
                                                "range": [
                                                  702,
                                                  712
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 23,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 23,
                                                    "column": 32
                                                  }
                                                }
                                              },
                                              "range": [
                                                697,
                                                712
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 23,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 23,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "data",
                                                  "range": [
                                                    716,
                                                    720
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 23,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 23,
                                                      "column": 40
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "attributes",
                                                  "range": [
                                                    721,
                                                    731
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 23,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 23,
                                                      "column": 51
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  716,
                                                  731
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 23,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 23,
                                                    "column": 51
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "LogicalExpression",
                                                "operator": "||",
                                                "left": {
                                                  "type": "Identifier",
                                                  "name": "name",
                                                  "range": [
                                                    732,
                                                    736
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 23,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 23,
                                                      "column": 56
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Identifier",
                                                  "name": "key",
                                                  "range": [
                                                    740,
                                                    743
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 23,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 23,
                                                      "column": 63
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  732,
                                                  743
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 23,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 23,
                                                    "column": 63
                                                  }
                                                }
                                              },
                                              "range": [
                                                716,
                                                744
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 23,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 23,
                                                  "column": 64
                                                }
                                              }
                                            },
                                            "range": [
                                              697,
                                              744
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 23,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 23,
                                                "column": 64
                                              }
                                            }
                                          },
                                          "range": [
                                            690,
                                            745
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 65
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        678,
                                        755
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 24,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      657,
                                      755
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 22,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 24,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    644,
                                    755
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 9
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "serialize",
                                    "range": [
                                      765,
                                      774
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 25,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "FunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "resource",
                                        "range": [
                                          786,
                                          794
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 37
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "data",
                                        "range": [
                                          796,
                                          800
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 43
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "key",
                                        "range": [
                                          802,
                                          805
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 48
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "operator": "=",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "data",
                                                  "range": [
                                                    819,
                                                    823
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 26,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 26,
                                                      "column": 14
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "attributes",
                                                  "range": [
                                                    824,
                                                    834
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 26,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 26,
                                                      "column": 25
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  819,
                                                  834
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 26,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 26,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "LogicalExpression",
                                                "operator": "||",
                                                "left": {
                                                  "type": "Identifier",
                                                  "name": "name",
                                                  "range": [
                                                    835,
                                                    839
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 26,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 26,
                                                      "column": 30
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Identifier",
                                                  "name": "key",
                                                  "range": [
                                                    843,
                                                    846
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 26,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 26,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  835,
                                                  846
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 26,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 26,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "range": [
                                                819,
                                                847
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "resource",
                                                "range": [
                                                  850,
                                                  858
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 26,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 26,
                                                    "column": 49
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "key",
                                                "range": [
                                                  859,
                                                  862
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 26,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 26,
                                                    "column": 53
                                                  }
                                                }
                                              },
                                              "range": [
                                                850,
                                                863
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 54
                                                }
                                              }
                                            },
                                            "range": [
                                              819,
                                              863
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 26,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 26,
                                                "column": 54
                                              }
                                            }
                                          },
                                          "range": [
                                            819,
                                            864
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 26,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 26,
                                              "column": 55
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        807,
                                        874
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 27,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      776,
                                      874
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 27,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    765,
                                    874
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                567,
                                882
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 13
                                },
                                "end": {
                                  "line": 28,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              560,
                              883
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 6
                              },
                              "end": {
                                "line": 28,
                                "column": 8
                              }
                            }
                          }
                        ],
                        "range": [
                          552,
                          889
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 11
                          },
                          "end": {
                            "line": 29,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        464,
                        889
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 4
                        },
                        "end": {
                          "line": 29,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    458,
                    893
                  ],
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 29
                    },
                    "end": {
                      "line": 30,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  442,
                  893
                ],
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 13
                  },
                  "end": {
                    "line": 30,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                431,
                893
              ],
              "loc": {
                "start": {
                  "line": 15,
                  "column": 2
                },
                "end": {
                  "line": 30,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Creates a field definition for an attribute.\n   *\n   * @since 0.1.0\n   * @param {string} [name] - Name of the property to map this field from.\n   * @param {Object} [options] - An options object.\n   * @param {string} [options.default] - Default value for this field.\n   * @return {Object} - Field definition.\n   ",
                  "range": [
                    106,
                    428
                  ],
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 2
                    },
                    "end": {
                      "line": 14,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Creates a field definition for an has-one relationship.\n   *\n   * @since 0.1.0\n   * @param {string} [name] - Name of the property to map this field from.\n   * @param {Object} [options] - An options object.\n   * @param {string} [options.inverse] - Name of the inverse relationship.\n   * @return {Object} - Field definition.\n   ",
                  "range": [
                    897,
                    1234
                  ],
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 2
                    },
                    "end": {
                      "line": 40,
                      "column": 5
                    }
                  }
                }
              ],
              "static": true
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "hasOne",
                "range": [
                  1244,
                  1250
                ],
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 9
                  },
                  "end": {
                    "line": 41,
                    "column": 15
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "name",
                    "range": [
                      1251,
                      1255
                    ],
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 16
                      },
                      "end": {
                        "line": 41,
                        "column": 20
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "options",
                    "range": [
                      1257,
                      1264
                    ],
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 22
                      },
                      "end": {
                        "line": 41,
                        "column": 29
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "Identifier",
                          "name": "name",
                          "range": [
                            1276,
                            1280
                          ],
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 12
                            }
                          }
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "operator": "===",
                          "left": {
                            "type": "UnaryExpression",
                            "operator": "typeof",
                            "argument": {
                              "type": "Identifier",
                              "name": "name",
                              "range": [
                                1291,
                                1295
                              ],
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 23
                                },
                                "end": {
                                  "line": 42,
                                  "column": 27
                                }
                              }
                            },
                            "prefix": true,
                            "range": [
                              1284,
                              1295
                            ],
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 16
                              },
                              "end": {
                                "line": 42,
                                "column": 27
                              }
                            }
                          },
                          "right": {
                            "type": "Literal",
                            "value": "object",
                            "raw": "'object'",
                            "range": [
                              1300,
                              1308
                            ],
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 32
                              },
                              "end": {
                                "line": 42,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            1284,
                            1308
                          ],
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 16
                            },
                            "end": {
                              "line": 42,
                              "column": 40
                            }
                          }
                        },
                        "range": [
                          1276,
                          1308
                        ],
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 40
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "Store",
                                  "range": [
                                    1325,
                                    1330
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 18
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "hasOne",
                                  "range": [
                                    1331,
                                    1337
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  1325,
                                  1337
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 25
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": null,
                                  "raw": "null",
                                  "range": [
                                    1338,
                                    1342
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 30
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "name",
                                  "range": [
                                    1344,
                                    1348
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 36
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1325,
                                1349
                              ],
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 13
                                },
                                "end": {
                                  "line": 43,
                                  "column": 37
                                }
                              }
                            },
                            "range": [
                              1318,
                              1350
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 6
                              },
                              "end": {
                                "line": 43,
                                "column": 38
                              }
                            }
                          }
                        ],
                        "range": [
                          1310,
                          1356
                        ],
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 42
                          },
                          "end": {
                            "line": 44,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "ObjectExpression",
                              "properties": [
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      1387,
                                      1391
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "value": "has-one",
                                    "raw": "\"has-one\"",
                                    "range": [
                                      1393,
                                      1402
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    1387,
                                    1402
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 23
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "inverse",
                                    "range": [
                                      1412,
                                      1419
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "LogicalExpression",
                                    "operator": "&&",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "options",
                                      "range": [
                                        1421,
                                        1428
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "options",
                                        "range": [
                                          1432,
                                          1439
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "inverse",
                                        "range": [
                                          1440,
                                          1447
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        1432,
                                        1447
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      1421,
                                      1447
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    1412,
                                    1447
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 43
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "deserialize",
                                    "range": [
                                      1457,
                                      1468
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "FunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "data",
                                        "range": [
                                          1480,
                                          1484
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 35
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "key",
                                        "range": [
                                          1486,
                                          1489
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 40
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "name": "name",
                                              "range": [
                                                1503,
                                                1507
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 14
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "LogicalExpression",
                                              "operator": "||",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "name",
                                                "range": [
                                                  1510,
                                                  1514
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 49,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 49,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Identifier",
                                                "name": "key",
                                                "range": [
                                                  1518,
                                                  1521
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 49,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 49,
                                                    "column": 28
                                                  }
                                                }
                                              },
                                              "range": [
                                                1510,
                                                1521
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              1503,
                                              1521
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            1503,
                                            1522
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 29
                                            }
                                          }
                                        },
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "LogicalExpression",
                                            "operator": "&&",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "data",
                                                "range": [
                                                  1537,
                                                  1541
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 50,
                                                    "column": 14
                                                  },
                                                  "end": {
                                                    "line": 50,
                                                    "column": 18
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "relationships",
                                                "range": [
                                                  1542,
                                                  1555
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 50,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 50,
                                                    "column": 32
                                                  }
                                                }
                                              },
                                              "range": [
                                                1537,
                                                1555
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 50,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 50,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "data",
                                                  "range": [
                                                    1559,
                                                    1563
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 50,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 50,
                                                      "column": 40
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "relationships",
                                                  "range": [
                                                    1564,
                                                    1577
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 50,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 50,
                                                      "column": 54
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  1559,
                                                  1577
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 50,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 50,
                                                    "column": 54
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "name",
                                                "range": [
                                                  1578,
                                                  1582
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 50,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 50,
                                                    "column": 59
                                                  }
                                                }
                                              },
                                              "range": [
                                                1559,
                                                1583
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 50,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 50,
                                                  "column": 60
                                                }
                                              }
                                            },
                                            "range": [
                                              1537,
                                              1583
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 50,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 50,
                                                "column": 60
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "IfStatement",
                                                "test": {
                                                  "type": "BinaryExpression",
                                                  "operator": "===",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": true,
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "data",
                                                          "range": [
                                                            1603,
                                                            1607
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 51,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 51,
                                                              "column": 20
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "relationships",
                                                          "range": [
                                                            1608,
                                                            1621
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 51,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 51,
                                                              "column": 34
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          1603,
                                                          1621
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 51,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 51,
                                                            "column": 34
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "name",
                                                        "range": [
                                                          1622,
                                                          1626
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 51,
                                                            "column": 35
                                                          },
                                                          "end": {
                                                            "line": 51,
                                                            "column": 39
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        1603,
                                                        1627
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 51,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 51,
                                                          "column": 40
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "data",
                                                      "range": [
                                                        1628,
                                                        1632
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 51,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 51,
                                                          "column": 45
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      1603,
                                                      1632
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 51,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 51,
                                                        "column": 45
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "value": null,
                                                    "raw": "null",
                                                    "range": [
                                                      1637,
                                                      1641
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 51,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 51,
                                                        "column": 54
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    1603,
                                                    1641
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 51,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 51,
                                                      "column": 54
                                                    }
                                                  }
                                                },
                                                "consequent": {
                                                  "type": "BlockStatement",
                                                  "body": [
                                                    {
                                                      "type": "ReturnStatement",
                                                      "argument": {
                                                        "type": "Literal",
                                                        "value": null,
                                                        "raw": "null",
                                                        "range": [
                                                          1666,
                                                          1670
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 52,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 52,
                                                            "column": 25
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        1659,
                                                        1671
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 52,
                                                          "column": 14
                                                        },
                                                        "end": {
                                                          "line": 52,
                                                          "column": 26
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    1643,
                                                    1685
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 51,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 53,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                "alternate": {
                                                  "type": "IfStatement",
                                                  "test": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": true,
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "data",
                                                          "range": [
                                                            1695,
                                                            1699
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 53,
                                                              "column": 23
                                                            },
                                                            "end": {
                                                              "line": 53,
                                                              "column": 27
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "relationships",
                                                          "range": [
                                                            1700,
                                                            1713
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 53,
                                                              "column": 28
                                                            },
                                                            "end": {
                                                              "line": 53,
                                                              "column": 41
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          1695,
                                                          1713
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 53,
                                                            "column": 23
                                                          },
                                                          "end": {
                                                            "line": 53,
                                                            "column": 41
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "name",
                                                        "range": [
                                                          1714,
                                                          1718
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 53,
                                                            "column": 42
                                                          },
                                                          "end": {
                                                            "line": 53,
                                                            "column": 46
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        1695,
                                                        1719
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 53,
                                                          "column": 23
                                                        },
                                                        "end": {
                                                          "line": 53,
                                                          "column": 47
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "data",
                                                      "range": [
                                                        1720,
                                                        1724
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 53,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 53,
                                                          "column": 52
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      1695,
                                                      1724
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 53,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 53,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "consequent": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "ReturnStatement",
                                                        "argument": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "ThisExpression",
                                                              "range": [
                                                                1749,
                                                                1753
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 54,
                                                                  "column": 21
                                                                },
                                                                "end": {
                                                                  "line": 54,
                                                                  "column": 25
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "find",
                                                              "range": [
                                                                1754,
                                                                1758
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 54,
                                                                  "column": 26
                                                                },
                                                                "end": {
                                                                  "line": 54,
                                                                  "column": 30
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              1749,
                                                              1758
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 54,
                                                                "column": 21
                                                              },
                                                              "end": {
                                                                "line": 54,
                                                                "column": 30
                                                              }
                                                            }
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "name": "data",
                                                                      "range": [
                                                                        1759,
                                                                        1763
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 54,
                                                                          "column": 31
                                                                        },
                                                                        "end": {
                                                                          "line": 54,
                                                                          "column": 35
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "relationships",
                                                                      "range": [
                                                                        1764,
                                                                        1777
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 54,
                                                                          "column": 36
                                                                        },
                                                                        "end": {
                                                                          "line": 54,
                                                                          "column": 49
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      1759,
                                                                      1777
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 54,
                                                                        "column": 31
                                                                      },
                                                                      "end": {
                                                                        "line": 54,
                                                                        "column": 49
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "name",
                                                                    "range": [
                                                                      1778,
                                                                      1782
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 54,
                                                                        "column": 50
                                                                      },
                                                                      "end": {
                                                                        "line": 54,
                                                                        "column": 54
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    1759,
                                                                    1783
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 54,
                                                                      "column": 31
                                                                    },
                                                                    "end": {
                                                                      "line": 54,
                                                                      "column": 55
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "data",
                                                                  "range": [
                                                                    1784,
                                                                    1788
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 54,
                                                                      "column": 56
                                                                    },
                                                                    "end": {
                                                                      "line": 54,
                                                                      "column": 60
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  1759,
                                                                  1788
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 54,
                                                                    "column": 31
                                                                  },
                                                                  "end": {
                                                                    "line": 54,
                                                                    "column": 60
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "type",
                                                                "range": [
                                                                  1789,
                                                                  1793
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 54,
                                                                    "column": 61
                                                                  },
                                                                  "end": {
                                                                    "line": 54,
                                                                    "column": 65
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                1759,
                                                                1793
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 54,
                                                                  "column": 31
                                                                },
                                                                "end": {
                                                                  "line": 54,
                                                                  "column": 65
                                                                }
                                                              }
                                                            },
                                                            {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "name": "data",
                                                                      "range": [
                                                                        1795,
                                                                        1799
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 54,
                                                                          "column": 67
                                                                        },
                                                                        "end": {
                                                                          "line": 54,
                                                                          "column": 71
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "relationships",
                                                                      "range": [
                                                                        1800,
                                                                        1813
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 54,
                                                                          "column": 72
                                                                        },
                                                                        "end": {
                                                                          "line": 54,
                                                                          "column": 85
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      1795,
                                                                      1813
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 54,
                                                                        "column": 67
                                                                      },
                                                                      "end": {
                                                                        "line": 54,
                                                                        "column": 85
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "name",
                                                                    "range": [
                                                                      1814,
                                                                      1818
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 54,
                                                                        "column": 86
                                                                      },
                                                                      "end": {
                                                                        "line": 54,
                                                                        "column": 90
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    1795,
                                                                    1819
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 54,
                                                                      "column": 67
                                                                    },
                                                                    "end": {
                                                                      "line": 54,
                                                                      "column": 91
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "data",
                                                                  "range": [
                                                                    1820,
                                                                    1824
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 54,
                                                                      "column": 92
                                                                    },
                                                                    "end": {
                                                                      "line": 54,
                                                                      "column": 96
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  1795,
                                                                  1824
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 54,
                                                                    "column": 67
                                                                  },
                                                                  "end": {
                                                                    "line": 54,
                                                                    "column": 96
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "id",
                                                                "range": [
                                                                  1825,
                                                                  1827
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 54,
                                                                    "column": 97
                                                                  },
                                                                  "end": {
                                                                    "line": 54,
                                                                    "column": 99
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                1795,
                                                                1827
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 54,
                                                                  "column": 67
                                                                },
                                                                "end": {
                                                                  "line": 54,
                                                                  "column": 99
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            1749,
                                                            1828
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 54,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 54,
                                                              "column": 100
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          1742,
                                                          1829
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 54,
                                                            "column": 14
                                                          },
                                                          "end": {
                                                            "line": 54,
                                                            "column": 101
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      1726,
                                                      1843
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 53,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 55,
                                                        "column": 13
                                                      }
                                                    }
                                                  },
                                                  "alternate": null,
                                                  "range": [
                                                    1691,
                                                    1843
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 53,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 55,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  1599,
                                                  1843
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 51,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 55,
                                                    "column": 13
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              1585,
                                              1855
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 50,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 11
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            1533,
                                            1855
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 50,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 11
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1491,
                                        1865
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      1470,
                                      1865
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    1457,
                                    1865
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 9
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "serialize",
                                    "range": [
                                      1875,
                                      1884
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "FunctionExpression",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "serialize",
                                      "range": [
                                        1895,
                                        1904
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "resource",
                                        "range": [
                                          1905,
                                          1913
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 46
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "data",
                                        "range": [
                                          1915,
                                          1919
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 52
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "key",
                                        "range": [
                                          1921,
                                          1924
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 57
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "BinaryExpression",
                                            "operator": "===",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "resource",
                                                "range": [
                                                  1942,
                                                  1950
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 59,
                                                    "column": 14
                                                  },
                                                  "end": {
                                                    "line": 59,
                                                    "column": 22
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "key",
                                                "range": [
                                                  1951,
                                                  1954
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 59,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 59,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "range": [
                                                1942,
                                                1955
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "Literal",
                                              "value": null,
                                              "raw": "null",
                                              "range": [
                                                1960,
                                                1964
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "range": [
                                              1942,
                                              1964
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "data",
                                                        "range": [
                                                          1980,
                                                          1984
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 60,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 60,
                                                            "column": 16
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "relationships",
                                                        "range": [
                                                          1985,
                                                          1998
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 60,
                                                            "column": 17
                                                          },
                                                          "end": {
                                                            "line": 60,
                                                            "column": 30
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        1980,
                                                        1998
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 60,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 60,
                                                          "column": 30
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "LogicalExpression",
                                                      "operator": "||",
                                                      "left": {
                                                        "type": "Identifier",
                                                        "name": "name",
                                                        "range": [
                                                          1999,
                                                          2003
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 60,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 60,
                                                            "column": 35
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "Identifier",
                                                        "name": "key",
                                                        "range": [
                                                          2007,
                                                          2010
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 60,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 60,
                                                            "column": 42
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        1999,
                                                        2010
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 60,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 60,
                                                          "column": 42
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      1980,
                                                      2011
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 60,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 60,
                                                        "column": 43
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "value": null,
                                                    "raw": "null",
                                                    "range": [
                                                      2014,
                                                      2018
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 60,
                                                        "column": 46
                                                      },
                                                      "end": {
                                                        "line": 60,
                                                        "column": 50
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    1980,
                                                    2018
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 50
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  1980,
                                                  2019
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 51
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              1966,
                                              2031
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 61,
                                                "column": 11
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "IfStatement",
                                            "test": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "resource",
                                                "range": [
                                                  2041,
                                                  2049
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 61,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 61,
                                                    "column": 29
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "key",
                                                "range": [
                                                  2050,
                                                  2053
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 61,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 61,
                                                    "column": 33
                                                  }
                                                }
                                              },
                                              "range": [
                                                2041,
                                                2054
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 61,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 61,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "expression": {
                                                    "type": "AssignmentExpression",
                                                    "operator": "=",
                                                    "left": {
                                                      "type": "MemberExpression",
                                                      "computed": true,
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "data",
                                                          "range": [
                                                            2070,
                                                            2074
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 62,
                                                              "column": 12
                                                            },
                                                            "end": {
                                                              "line": 62,
                                                              "column": 16
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "relationships",
                                                          "range": [
                                                            2075,
                                                            2088
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 62,
                                                              "column": 17
                                                            },
                                                            "end": {
                                                              "line": 62,
                                                              "column": 30
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          2070,
                                                          2088
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 62,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 62,
                                                            "column": 30
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "LogicalExpression",
                                                        "operator": "||",
                                                        "left": {
                                                          "type": "Identifier",
                                                          "name": "name",
                                                          "range": [
                                                            2089,
                                                            2093
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 62,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 62,
                                                              "column": 35
                                                            }
                                                          }
                                                        },
                                                        "right": {
                                                          "type": "Identifier",
                                                          "name": "key",
                                                          "range": [
                                                            2097,
                                                            2100
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 62,
                                                              "column": 39
                                                            },
                                                            "end": {
                                                              "line": 62,
                                                              "column": 42
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          2089,
                                                          2100
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 62,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 62,
                                                            "column": 42
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        2070,
                                                        2101
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 62,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 62,
                                                          "column": 43
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "ObjectExpression",
                                                      "properties": [
                                                        {
                                                          "type": "Property",
                                                          "key": {
                                                            "type": "Identifier",
                                                            "name": "data",
                                                            "range": [
                                                              2120,
                                                              2124
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 63,
                                                                "column": 14
                                                              },
                                                              "end": {
                                                                "line": 63,
                                                                "column": 18
                                                              }
                                                            }
                                                          },
                                                          "value": {
                                                            "type": "ObjectExpression",
                                                            "properties": [
                                                              {
                                                                "type": "Property",
                                                                "key": {
                                                                  "type": "Identifier",
                                                                  "name": "type",
                                                                  "range": [
                                                                    2144,
                                                                    2148
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 64,
                                                                      "column": 16
                                                                    },
                                                                    "end": {
                                                                      "line": 64,
                                                                      "column": 20
                                                                    }
                                                                  }
                                                                },
                                                                "value": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": true,
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "name": "resource",
                                                                      "range": [
                                                                        2150,
                                                                        2158
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 64,
                                                                          "column": 22
                                                                        },
                                                                        "end": {
                                                                          "line": 64,
                                                                          "column": 30
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "key",
                                                                      "range": [
                                                                        2159,
                                                                        2162
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 64,
                                                                          "column": 31
                                                                        },
                                                                        "end": {
                                                                          "line": 64,
                                                                          "column": 34
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      2150,
                                                                      2163
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 64,
                                                                        "column": 22
                                                                      },
                                                                      "end": {
                                                                        "line": 64,
                                                                        "column": 35
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "type",
                                                                    "range": [
                                                                      2164,
                                                                      2168
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 64,
                                                                        "column": 36
                                                                      },
                                                                      "end": {
                                                                        "line": 64,
                                                                        "column": 40
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    2150,
                                                                    2168
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 64,
                                                                      "column": 22
                                                                    },
                                                                    "end": {
                                                                      "line": 64,
                                                                      "column": 40
                                                                    }
                                                                  }
                                                                },
                                                                "kind": "init",
                                                                "method": false,
                                                                "shorthand": false,
                                                                "computed": false,
                                                                "range": [
                                                                  2144,
                                                                  2168
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 64,
                                                                    "column": 16
                                                                  },
                                                                  "end": {
                                                                    "line": 64,
                                                                    "column": 40
                                                                  }
                                                                }
                                                              },
                                                              {
                                                                "type": "Property",
                                                                "key": {
                                                                  "type": "Identifier",
                                                                  "name": "id",
                                                                  "range": [
                                                                    2186,
                                                                    2188
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 65,
                                                                      "column": 16
                                                                    },
                                                                    "end": {
                                                                      "line": 65,
                                                                      "column": 18
                                                                    }
                                                                  }
                                                                },
                                                                "value": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": true,
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "name": "resource",
                                                                      "range": [
                                                                        2190,
                                                                        2198
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 65,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 65,
                                                                          "column": 28
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "key",
                                                                      "range": [
                                                                        2199,
                                                                        2202
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 65,
                                                                          "column": 29
                                                                        },
                                                                        "end": {
                                                                          "line": 65,
                                                                          "column": 32
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      2190,
                                                                      2203
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 65,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 65,
                                                                        "column": 33
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "id",
                                                                    "range": [
                                                                      2204,
                                                                      2206
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 65,
                                                                        "column": 34
                                                                      },
                                                                      "end": {
                                                                        "line": 65,
                                                                        "column": 36
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    2190,
                                                                    2206
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 65,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 65,
                                                                      "column": 36
                                                                    }
                                                                  }
                                                                },
                                                                "kind": "init",
                                                                "method": false,
                                                                "shorthand": false,
                                                                "computed": false,
                                                                "range": [
                                                                  2186,
                                                                  2206
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 65,
                                                                    "column": 16
                                                                  },
                                                                  "end": {
                                                                    "line": 65,
                                                                    "column": 36
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              2126,
                                                              2222
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 63,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 66,
                                                                "column": 15
                                                              }
                                                            }
                                                          },
                                                          "kind": "init",
                                                          "method": false,
                                                          "shorthand": false,
                                                          "computed": false,
                                                          "range": [
                                                            2120,
                                                            2222
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 63,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 66,
                                                              "column": 15
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        2104,
                                                        2236
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 62,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 67,
                                                          "column": 13
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2070,
                                                      2236
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 62,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 67,
                                                        "column": 13
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2070,
                                                    2237
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 62,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 14
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2056,
                                                2249
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 61,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 11
                                                }
                                              }
                                            },
                                            "alternate": null,
                                            "range": [
                                              2037,
                                              2249
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 61,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 11
                                              }
                                            }
                                          },
                                          "range": [
                                            1938,
                                            2249
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 11
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1926,
                                        2259
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      1886,
                                      2259
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    1875,
                                    2259
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1377,
                                2267
                              ],
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 13
                                },
                                "end": {
                                  "line": 70,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              1370,
                              2268
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 6
                              },
                              "end": {
                                "line": 70,
                                "column": 8
                              }
                            }
                          }
                        ],
                        "range": [
                          1362,
                          2274
                        ],
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 11
                          },
                          "end": {
                            "line": 71,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1272,
                        2274
                      ],
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 4
                        },
                        "end": {
                          "line": 71,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    1266,
                    2278
                  ],
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 31
                    },
                    "end": {
                      "line": 72,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  1250,
                  2278
                ],
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 15
                  },
                  "end": {
                    "line": 72,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1237,
                2278
              ],
              "loc": {
                "start": {
                  "line": 41,
                  "column": 2
                },
                "end": {
                  "line": 72,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Creates a field definition for an has-one relationship.\n   *\n   * @since 0.1.0\n   * @param {string} [name] - Name of the property to map this field from.\n   * @param {Object} [options] - An options object.\n   * @param {string} [options.inverse] - Name of the inverse relationship.\n   * @return {Object} - Field definition.\n   ",
                  "range": [
                    897,
                    1234
                  ],
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 2
                    },
                    "end": {
                      "line": 40,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Creates a field definition for an has-many relationship.\n   *\n   * @since 0.1.0\n   * @param {string} [name] - Name of the property to map this field from.\n   * @param {Object} [options] - An options object.\n   * @param {string} [options.inverse] - Name of the inverse relationship.\n   * @return {Object} - Field definition.\n   ",
                  "range": [
                    2282,
                    2620
                  ],
                  "loc": {
                    "start": {
                      "line": 74,
                      "column": 2
                    },
                    "end": {
                      "line": 82,
                      "column": 5
                    }
                  }
                }
              ],
              "static": true
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "hasMany",
                "range": [
                  2630,
                  2637
                ],
                "loc": {
                  "start": {
                    "line": 83,
                    "column": 9
                  },
                  "end": {
                    "line": 83,
                    "column": 16
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "name",
                    "range": [
                      2638,
                      2642
                    ],
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 17
                      },
                      "end": {
                        "line": 83,
                        "column": 21
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "options",
                    "range": [
                      2644,
                      2651
                    ],
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 23
                      },
                      "end": {
                        "line": 83,
                        "column": 30
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "Identifier",
                          "name": "name",
                          "range": [
                            2663,
                            2667
                          ],
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 8
                            },
                            "end": {
                              "line": 84,
                              "column": 12
                            }
                          }
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "operator": "===",
                          "left": {
                            "type": "UnaryExpression",
                            "operator": "typeof",
                            "argument": {
                              "type": "Identifier",
                              "name": "name",
                              "range": [
                                2678,
                                2682
                              ],
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 23
                                },
                                "end": {
                                  "line": 84,
                                  "column": 27
                                }
                              }
                            },
                            "prefix": true,
                            "range": [
                              2671,
                              2682
                            ],
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 16
                              },
                              "end": {
                                "line": 84,
                                "column": 27
                              }
                            }
                          },
                          "right": {
                            "type": "Literal",
                            "value": "object",
                            "raw": "'object'",
                            "range": [
                              2687,
                              2695
                            ],
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 32
                              },
                              "end": {
                                "line": 84,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            2671,
                            2695
                          ],
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 16
                            },
                            "end": {
                              "line": 84,
                              "column": 40
                            }
                          }
                        },
                        "range": [
                          2663,
                          2695
                        ],
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 8
                          },
                          "end": {
                            "line": 84,
                            "column": 40
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "Store",
                                  "range": [
                                    2712,
                                    2717
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 18
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "hasMany",
                                  "range": [
                                    2718,
                                    2725
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  2712,
                                  2725
                                ],
                                "loc": {
                                  "start": {
                                    "line": 85,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 85,
                                    "column": 26
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": null,
                                  "raw": "null",
                                  "range": [
                                    2726,
                                    2730
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 31
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "name",
                                  "range": [
                                    2732,
                                    2736
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 37
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2712,
                                2737
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 13
                                },
                                "end": {
                                  "line": 85,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              2705,
                              2738
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 6
                              },
                              "end": {
                                "line": 85,
                                "column": 39
                              }
                            }
                          }
                        ],
                        "range": [
                          2697,
                          2744
                        ],
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 42
                          },
                          "end": {
                            "line": 86,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "ObjectExpression",
                              "properties": [
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      2775,
                                      2779
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "value": "has-many",
                                    "raw": "\"has-many\"",
                                    "range": [
                                      2781,
                                      2791
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    2775,
                                    2791
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 24
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "default",
                                    "range": [
                                      2801,
                                      2808
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "ArrayExpression",
                                    "elements": [],
                                    "range": [
                                      2810,
                                      2812
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    2801,
                                    2812
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 19
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "inverse",
                                    "range": [
                                      2822,
                                      2829
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "LogicalExpression",
                                    "operator": "&&",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "options",
                                      "range": [
                                        2831,
                                        2838
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "options",
                                        "range": [
                                          2842,
                                          2849
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "inverse",
                                        "range": [
                                          2850,
                                          2857
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        2842,
                                        2857
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      2831,
                                      2857
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    2822,
                                    2857
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 43
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "deserialize",
                                    "range": [
                                      2867,
                                      2878
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "FunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "data",
                                        "range": [
                                          2890,
                                          2894
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 35
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "key",
                                        "range": [
                                          2896,
                                          2899
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 40
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "name": "name",
                                              "range": [
                                                2913,
                                                2917
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 14
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "LogicalExpression",
                                              "operator": "||",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "name",
                                                "range": [
                                                  2920,
                                                  2924
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Identifier",
                                                "name": "key",
                                                "range": [
                                                  2928,
                                                  2931
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 28
                                                  }
                                                }
                                              },
                                              "range": [
                                                2920,
                                                2931
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              2913,
                                              2931
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            2913,
                                            2932
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 29
                                            }
                                          }
                                        },
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "LogicalExpression",
                                            "operator": "&&",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "data",
                                                "range": [
                                                  2947,
                                                  2951
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 14
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 18
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "relationships",
                                                "range": [
                                                  2952,
                                                  2965
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 32
                                                  }
                                                }
                                              },
                                              "range": [
                                                2947,
                                                2965
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "data",
                                                  "range": [
                                                    2969,
                                                    2973
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 40
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "relationships",
                                                  "range": [
                                                    2974,
                                                    2987
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 54
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2969,
                                                  2987
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 54
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "name",
                                                "range": [
                                                  2988,
                                                  2992
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 59
                                                  }
                                                }
                                              },
                                              "range": [
                                                2969,
                                                2993
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 60
                                                }
                                              }
                                            },
                                            "range": [
                                              2947,
                                              2993
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 93,
                                                "column": 60
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "IfStatement",
                                                "test": {
                                                  "type": "BinaryExpression",
                                                  "operator": "===",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": true,
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "data",
                                                          "range": [
                                                            3013,
                                                            3017
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 94,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 94,
                                                              "column": 20
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "relationships",
                                                          "range": [
                                                            3018,
                                                            3031
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 94,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 94,
                                                              "column": 34
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          3013,
                                                          3031
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 94,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 94,
                                                            "column": 34
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "name",
                                                        "range": [
                                                          3032,
                                                          3036
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 94,
                                                            "column": 35
                                                          },
                                                          "end": {
                                                            "line": 94,
                                                            "column": 39
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        3013,
                                                        3037
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 94,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 94,
                                                          "column": 40
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "data",
                                                      "range": [
                                                        3038,
                                                        3042
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 94,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 94,
                                                          "column": 45
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3013,
                                                      3042
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 45
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "value": null,
                                                    "raw": "null",
                                                    "range": [
                                                      3047,
                                                      3051
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 54
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3013,
                                                    3051
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 54
                                                    }
                                                  }
                                                },
                                                "consequent": {
                                                  "type": "BlockStatement",
                                                  "body": [
                                                    {
                                                      "type": "ReturnStatement",
                                                      "argument": {
                                                        "type": "ArrayExpression",
                                                        "elements": [],
                                                        "range": [
                                                          3076,
                                                          3078
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 95,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 95,
                                                            "column": 23
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        3069,
                                                        3079
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 95,
                                                          "column": 14
                                                        },
                                                        "end": {
                                                          "line": 95,
                                                          "column": 24
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    3053,
                                                    3093
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                "alternate": {
                                                  "type": "IfStatement",
                                                  "test": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": true,
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "data",
                                                          "range": [
                                                            3103,
                                                            3107
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 96,
                                                              "column": 23
                                                            },
                                                            "end": {
                                                              "line": 96,
                                                              "column": 27
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "relationships",
                                                          "range": [
                                                            3108,
                                                            3121
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 96,
                                                              "column": 28
                                                            },
                                                            "end": {
                                                              "line": 96,
                                                              "column": 41
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          3103,
                                                          3121
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 23
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 41
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "name",
                                                        "range": [
                                                          3122,
                                                          3126
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 42
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 46
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        3103,
                                                        3127
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 23
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 47
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "data",
                                                      "range": [
                                                        3128,
                                                        3132
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 52
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3103,
                                                      3132
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "consequent": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "ReturnStatement",
                                                        "argument": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "data",
                                                                    "range": [
                                                                      3157,
                                                                      3161
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 97,
                                                                        "column": 21
                                                                      },
                                                                      "end": {
                                                                        "line": 97,
                                                                        "column": 25
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "relationships",
                                                                    "range": [
                                                                      3162,
                                                                      3175
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 97,
                                                                        "column": 26
                                                                      },
                                                                      "end": {
                                                                        "line": 97,
                                                                        "column": 39
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    3157,
                                                                    3175
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 97,
                                                                      "column": 21
                                                                    },
                                                                    "end": {
                                                                      "line": 97,
                                                                      "column": 39
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "name",
                                                                  "range": [
                                                                    3176,
                                                                    3180
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 97,
                                                                      "column": 40
                                                                    },
                                                                    "end": {
                                                                      "line": 97,
                                                                      "column": 44
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  3157,
                                                                  3181
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 97,
                                                                    "column": 21
                                                                  },
                                                                  "end": {
                                                                    "line": 97,
                                                                    "column": 45
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "data",
                                                                "range": [
                                                                  3182,
                                                                  3186
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 97,
                                                                    "column": 46
                                                                  },
                                                                  "end": {
                                                                    "line": 97,
                                                                    "column": 50
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3157,
                                                                3186
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 97,
                                                                  "column": 21
                                                                },
                                                                "end": {
                                                                  "line": 97,
                                                                  "column": 50
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "map",
                                                              "range": [
                                                                3187,
                                                                3190
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 97,
                                                                  "column": 51
                                                                },
                                                                "end": {
                                                                  "line": 97,
                                                                  "column": 54
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3157,
                                                              3190
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 97,
                                                                "column": 21
                                                              },
                                                              "end": {
                                                                "line": 97,
                                                                "column": 54
                                                              }
                                                            }
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "ArrowFunctionExpression",
                                                              "id": null,
                                                              "params": [
                                                                {
                                                                  "type": "Identifier",
                                                                  "name": "c",
                                                                  "range": [
                                                                    3192,
                                                                    3193
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 97,
                                                                      "column": 56
                                                                    },
                                                                    "end": {
                                                                      "line": 97,
                                                                      "column": 57
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "body": {
                                                                "type": "BlockStatement",
                                                                "body": [
                                                                  {
                                                                    "type": "ReturnStatement",
                                                                    "argument": {
                                                                      "type": "CallExpression",
                                                                      "callee": {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "ThisExpression",
                                                                          "range": [
                                                                            3223,
                                                                            3227
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 98,
                                                                              "column": 23
                                                                            },
                                                                            "end": {
                                                                              "line": 98,
                                                                              "column": 27
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "find",
                                                                          "range": [
                                                                            3228,
                                                                            3232
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 98,
                                                                              "column": 28
                                                                            },
                                                                            "end": {
                                                                              "line": 98,
                                                                              "column": 32
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          3223,
                                                                          3232
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 98,
                                                                            "column": 23
                                                                          },
                                                                          "end": {
                                                                            "line": 98,
                                                                            "column": 32
                                                                          }
                                                                        }
                                                                      },
                                                                      "arguments": [
                                                                        {
                                                                          "type": "MemberExpression",
                                                                          "computed": false,
                                                                          "object": {
                                                                            "type": "Identifier",
                                                                            "name": "c",
                                                                            "range": [
                                                                              3233,
                                                                              3234
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 98,
                                                                                "column": 33
                                                                              },
                                                                              "end": {
                                                                                "line": 98,
                                                                                "column": 34
                                                                              }
                                                                            }
                                                                          },
                                                                          "property": {
                                                                            "type": "Identifier",
                                                                            "name": "type",
                                                                            "range": [
                                                                              3235,
                                                                              3239
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 98,
                                                                                "column": 35
                                                                              },
                                                                              "end": {
                                                                                "line": 98,
                                                                                "column": 39
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            3233,
                                                                            3239
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 98,
                                                                              "column": 33
                                                                            },
                                                                            "end": {
                                                                              "line": 98,
                                                                              "column": 39
                                                                            }
                                                                          }
                                                                        },
                                                                        {
                                                                          "type": "MemberExpression",
                                                                          "computed": false,
                                                                          "object": {
                                                                            "type": "Identifier",
                                                                            "name": "c",
                                                                            "range": [
                                                                              3241,
                                                                              3242
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 98,
                                                                                "column": 41
                                                                              },
                                                                              "end": {
                                                                                "line": 98,
                                                                                "column": 42
                                                                              }
                                                                            }
                                                                          },
                                                                          "property": {
                                                                            "type": "Identifier",
                                                                            "name": "id",
                                                                            "range": [
                                                                              3243,
                                                                              3245
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 98,
                                                                                "column": 43
                                                                              },
                                                                              "end": {
                                                                                "line": 98,
                                                                                "column": 45
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            3241,
                                                                            3245
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 98,
                                                                              "column": 41
                                                                            },
                                                                            "end": {
                                                                              "line": 98,
                                                                              "column": 45
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        3223,
                                                                        3246
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 98,
                                                                          "column": 23
                                                                        },
                                                                        "end": {
                                                                          "line": 98,
                                                                          "column": 46
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      3216,
                                                                      3247
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 98,
                                                                        "column": 16
                                                                      },
                                                                      "end": {
                                                                        "line": 98,
                                                                        "column": 47
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  3198,
                                                                  3263
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 97,
                                                                    "column": 62
                                                                  },
                                                                  "end": {
                                                                    "line": 99,
                                                                    "column": 15
                                                                  }
                                                                }
                                                              },
                                                              "generator": false,
                                                              "expression": false,
                                                              "range": [
                                                                3191,
                                                                3263
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 97,
                                                                  "column": 55
                                                                },
                                                                "end": {
                                                                  "line": 99,
                                                                  "column": 15
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            3157,
                                                            3264
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 97,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 99,
                                                              "column": 16
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          3150,
                                                          3265
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 97,
                                                            "column": 14
                                                          },
                                                          "end": {
                                                            "line": 99,
                                                            "column": 17
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      3134,
                                                      3279
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 13
                                                      }
                                                    }
                                                  },
                                                  "alternate": null,
                                                  "range": [
                                                    3099,
                                                    3279
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3009,
                                                  3279
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 13
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              2995,
                                              3291
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 11
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            2943,
                                            3291
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 11
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2901,
                                        3301
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      2880,
                                      3301
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    2867,
                                    3301
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 9
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "serialize",
                                    "range": [
                                      3311,
                                      3320
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "FunctionExpression",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "serialize",
                                      "range": [
                                        3331,
                                        3340
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "resource",
                                        "range": [
                                          3341,
                                          3349
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 46
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "data",
                                        "range": [
                                          3351,
                                          3355
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 52
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "key",
                                        "range": [
                                          3357,
                                          3360
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 57
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "resource",
                                              "range": [
                                                3378,
                                                3386
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 104,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 104,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "key",
                                              "range": [
                                                3387,
                                                3390
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 104,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 104,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            "range": [
                                              3378,
                                              3391
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 27
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "data",
                                                        "range": [
                                                          3407,
                                                          3411
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 105,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 105,
                                                            "column": 16
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "relationships",
                                                        "range": [
                                                          3412,
                                                          3425
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 105,
                                                            "column": 17
                                                          },
                                                          "end": {
                                                            "line": 105,
                                                            "column": 30
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        3407,
                                                        3425
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 105,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 105,
                                                          "column": 30
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "LogicalExpression",
                                                      "operator": "||",
                                                      "left": {
                                                        "type": "Identifier",
                                                        "name": "name",
                                                        "range": [
                                                          3426,
                                                          3430
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 105,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 105,
                                                            "column": 35
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "Identifier",
                                                        "name": "key",
                                                        "range": [
                                                          3434,
                                                          3437
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 105,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 105,
                                                            "column": 42
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        3426,
                                                        3437
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 105,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 105,
                                                          "column": 42
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3407,
                                                      3438
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 105,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 105,
                                                        "column": 43
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "ObjectExpression",
                                                    "properties": [
                                                      {
                                                        "type": "Property",
                                                        "key": {
                                                          "type": "Identifier",
                                                          "name": "data",
                                                          "range": [
                                                            3457,
                                                            3461
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 106,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 106,
                                                              "column": 18
                                                            }
                                                          }
                                                        },
                                                        "value": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "MemberExpression",
                                                              "computed": true,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "resource",
                                                                "range": [
                                                                  3463,
                                                                  3471
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 106,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 106,
                                                                    "column": 28
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "key",
                                                                "range": [
                                                                  3472,
                                                                  3475
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 106,
                                                                    "column": 29
                                                                  },
                                                                  "end": {
                                                                    "line": 106,
                                                                    "column": 32
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3463,
                                                                3476
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 106,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 106,
                                                                  "column": 33
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "map",
                                                              "range": [
                                                                3477,
                                                                3480
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 106,
                                                                  "column": 34
                                                                },
                                                                "end": {
                                                                  "line": 106,
                                                                  "column": 37
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3463,
                                                              3480
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 106,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 106,
                                                                "column": 37
                                                              }
                                                            }
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "ArrowFunctionExpression",
                                                              "id": null,
                                                              "params": [
                                                                {
                                                                  "type": "Identifier",
                                                                  "name": "x",
                                                                  "range": [
                                                                    3481,
                                                                    3482
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 106,
                                                                      "column": 38
                                                                    },
                                                                    "end": {
                                                                      "line": 106,
                                                                      "column": 39
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "body": {
                                                                "type": "BlockStatement",
                                                                "body": [
                                                                  {
                                                                    "type": "ReturnStatement",
                                                                    "argument": {
                                                                      "type": "ObjectExpression",
                                                                      "properties": [
                                                                        {
                                                                          "type": "Property",
                                                                          "key": {
                                                                            "type": "Identifier",
                                                                            "name": "type",
                                                                            "range": [
                                                                              3513,
                                                                              3517
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 107,
                                                                                "column": 25
                                                                              },
                                                                              "end": {
                                                                                "line": 107,
                                                                                "column": 29
                                                                              }
                                                                            }
                                                                          },
                                                                          "value": {
                                                                            "type": "MemberExpression",
                                                                            "computed": false,
                                                                            "object": {
                                                                              "type": "Identifier",
                                                                              "name": "x",
                                                                              "range": [
                                                                                3519,
                                                                                3520
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 107,
                                                                                  "column": 31
                                                                                },
                                                                                "end": {
                                                                                  "line": 107,
                                                                                  "column": 32
                                                                                }
                                                                              }
                                                                            },
                                                                            "property": {
                                                                              "type": "Identifier",
                                                                              "name": "type",
                                                                              "range": [
                                                                                3521,
                                                                                3525
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 107,
                                                                                  "column": 33
                                                                                },
                                                                                "end": {
                                                                                  "line": 107,
                                                                                  "column": 37
                                                                                }
                                                                              }
                                                                            },
                                                                            "range": [
                                                                              3519,
                                                                              3525
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 107,
                                                                                "column": 31
                                                                              },
                                                                              "end": {
                                                                                "line": 107,
                                                                                "column": 37
                                                                              }
                                                                            }
                                                                          },
                                                                          "kind": "init",
                                                                          "method": false,
                                                                          "shorthand": false,
                                                                          "computed": false,
                                                                          "range": [
                                                                            3513,
                                                                            3525
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 107,
                                                                              "column": 25
                                                                            },
                                                                            "end": {
                                                                              "line": 107,
                                                                              "column": 37
                                                                            }
                                                                          }
                                                                        },
                                                                        {
                                                                          "type": "Property",
                                                                          "key": {
                                                                            "type": "Identifier",
                                                                            "name": "id",
                                                                            "range": [
                                                                              3527,
                                                                              3529
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 107,
                                                                                "column": 39
                                                                              },
                                                                              "end": {
                                                                                "line": 107,
                                                                                "column": 41
                                                                              }
                                                                            }
                                                                          },
                                                                          "value": {
                                                                            "type": "MemberExpression",
                                                                            "computed": false,
                                                                            "object": {
                                                                              "type": "Identifier",
                                                                              "name": "x",
                                                                              "range": [
                                                                                3531,
                                                                                3532
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 107,
                                                                                  "column": 43
                                                                                },
                                                                                "end": {
                                                                                  "line": 107,
                                                                                  "column": 44
                                                                                }
                                                                              }
                                                                            },
                                                                            "property": {
                                                                              "type": "Identifier",
                                                                              "name": "id",
                                                                              "range": [
                                                                                3533,
                                                                                3535
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 107,
                                                                                  "column": 45
                                                                                },
                                                                                "end": {
                                                                                  "line": 107,
                                                                                  "column": 47
                                                                                }
                                                                              }
                                                                            },
                                                                            "range": [
                                                                              3531,
                                                                              3535
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 107,
                                                                                "column": 43
                                                                              },
                                                                              "end": {
                                                                                "line": 107,
                                                                                "column": 47
                                                                              }
                                                                            }
                                                                          },
                                                                          "kind": "init",
                                                                          "method": false,
                                                                          "shorthand": false,
                                                                          "computed": false,
                                                                          "range": [
                                                                            3527,
                                                                            3535
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 107,
                                                                              "column": 39
                                                                            },
                                                                            "end": {
                                                                              "line": 107,
                                                                              "column": 47
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        3511,
                                                                        3537
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 107,
                                                                          "column": 23
                                                                        },
                                                                        "end": {
                                                                          "line": 107,
                                                                          "column": 49
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      3504,
                                                                      3538
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 107,
                                                                        "column": 16
                                                                      },
                                                                      "end": {
                                                                        "line": 107,
                                                                        "column": 50
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  3486,
                                                                  3554
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 106,
                                                                    "column": 43
                                                                  },
                                                                  "end": {
                                                                    "line": 108,
                                                                    "column": 15
                                                                  }
                                                                }
                                                              },
                                                              "generator": false,
                                                              "expression": false,
                                                              "range": [
                                                                3481,
                                                                3554
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 106,
                                                                  "column": 38
                                                                },
                                                                "end": {
                                                                  "line": 108,
                                                                  "column": 15
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            3463,
                                                            3555
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 106,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 108,
                                                              "column": 16
                                                            }
                                                          }
                                                        },
                                                        "kind": "init",
                                                        "method": false,
                                                        "shorthand": false,
                                                        "computed": false,
                                                        "range": [
                                                          3457,
                                                          3555
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 106,
                                                            "column": 14
                                                          },
                                                          "end": {
                                                            "line": 108,
                                                            "column": 16
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      3441,
                                                      3569
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 105,
                                                        "column": 46
                                                      },
                                                      "end": {
                                                        "line": 109,
                                                        "column": 13
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3407,
                                                    3569
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 105,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3407,
                                                  3570
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 105,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 109,
                                                    "column": 14
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3393,
                                              3582
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 110,
                                                "column": 11
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            3374,
                                            3582
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 11
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3362,
                                        3592
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      3322,
                                      3592
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    3311,
                                    3592
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2765,
                                3600
                              ],
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 13
                                },
                                "end": {
                                  "line": 112,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              2758,
                              3601
                            ],
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 6
                              },
                              "end": {
                                "line": 112,
                                "column": 8
                              }
                            }
                          }
                        ],
                        "range": [
                          2750,
                          3607
                        ],
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 11
                          },
                          "end": {
                            "line": 113,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2659,
                        3607
                      ],
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 4
                        },
                        "end": {
                          "line": 113,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    2653,
                    3611
                  ],
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 32
                    },
                    "end": {
                      "line": 114,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  2637,
                  3611
                ],
                "loc": {
                  "start": {
                    "line": 83,
                    "column": 16
                  },
                  "end": {
                    "line": 114,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                2623,
                3611
              ],
              "loc": {
                "start": {
                  "line": 83,
                  "column": 2
                },
                "end": {
                  "line": 114,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Creates a field definition for an has-many relationship.\n   *\n   * @since 0.1.0\n   * @param {string} [name] - Name of the property to map this field from.\n   * @param {Object} [options] - An options object.\n   * @param {string} [options.inverse] - Name of the inverse relationship.\n   * @return {Object} - Field definition.\n   ",
                  "range": [
                    2282,
                    2620
                  ],
                  "loc": {
                    "start": {
                      "line": 74,
                      "column": 2
                    },
                    "end": {
                      "line": 82,
                      "column": 5
                    }
                  }
                }
              ],
              "static": true
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "constructor",
                "range": [
                  3615,
                  3626
                ],
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 2
                  },
                  "end": {
                    "line": 116,
                    "column": 13
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "adapter",
                    "range": [
                      3627,
                      3634
                    ],
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 14
                      },
                      "end": {
                        "line": 116,
                        "column": 21
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3642,
                              3646
                            ],
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 4
                              },
                              "end": {
                                "line": 117,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_adapter",
                            "range": [
                              3647,
                              3655
                            ],
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 9
                              },
                              "end": {
                                "line": 117,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            3642,
                            3655
                          ],
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 4
                            },
                            "end": {
                              "line": 117,
                              "column": 17
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "adapter",
                          "range": [
                            3658,
                            3665
                          ],
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 20
                            },
                            "end": {
                              "line": 117,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          3642,
                          3665
                        ],
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 4
                          },
                          "end": {
                            "line": 117,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        3642,
                        3666
                      ],
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 4
                        },
                        "end": {
                          "line": 117,
                          "column": 28
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3671,
                              3675
                            ],
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 4
                              },
                              "end": {
                                "line": 118,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_collectionListeners",
                            "range": [
                              3676,
                              3696
                            ],
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 9
                              },
                              "end": {
                                "line": 118,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            3671,
                            3696
                          ],
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 4
                            },
                            "end": {
                              "line": 118,
                              "column": 29
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [
                            {
                              "type": "Property",
                              "key": {
                                "type": "Literal",
                                "value": "added",
                                "raw": "\"added\"",
                                "range": [
                                  3701,
                                  3708
                                ],
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 41
                                  }
                                }
                              },
                              "value": {
                                "type": "ObjectExpression",
                                "properties": [],
                                "range": [
                                  3710,
                                  3712
                                ],
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 45
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                3701,
                                3712
                              ],
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 34
                                },
                                "end": {
                                  "line": 118,
                                  "column": 45
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Literal",
                                "value": "updated",
                                "raw": "\"updated\"",
                                "range": [
                                  3714,
                                  3723
                                ],
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 56
                                  }
                                }
                              },
                              "value": {
                                "type": "ObjectExpression",
                                "properties": [],
                                "range": [
                                  3725,
                                  3727
                                ],
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 60
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                3714,
                                3727
                              ],
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 47
                                },
                                "end": {
                                  "line": 118,
                                  "column": 60
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Literal",
                                "value": "removed",
                                "raw": "\"removed\"",
                                "range": [
                                  3729,
                                  3738
                                ],
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 71
                                  }
                                }
                              },
                              "value": {
                                "type": "ObjectExpression",
                                "properties": [],
                                "range": [
                                  3740,
                                  3742
                                ],
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 75
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                3729,
                                3742
                              ],
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 62
                                },
                                "end": {
                                  "line": 118,
                                  "column": 75
                                }
                              }
                            }
                          ],
                          "range": [
                            3699,
                            3744
                          ],
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 32
                            },
                            "end": {
                              "line": 118,
                              "column": 77
                            }
                          }
                        },
                        "range": [
                          3671,
                          3744
                        ],
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 4
                          },
                          "end": {
                            "line": 118,
                            "column": 77
                          }
                        }
                      },
                      "range": [
                        3671,
                        3745
                      ],
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 4
                        },
                        "end": {
                          "line": 118,
                          "column": 78
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3750,
                              3754
                            ],
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 4
                              },
                              "end": {
                                "line": 119,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_data",
                            "range": [
                              3755,
                              3760
                            ],
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 9
                              },
                              "end": {
                                "line": 119,
                                "column": 14
                              }
                            }
                          },
                          "range": [
                            3750,
                            3760
                          ],
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 4
                            },
                            "end": {
                              "line": 119,
                              "column": 14
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [],
                          "range": [
                            3763,
                            3765
                          ],
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 17
                            },
                            "end": {
                              "line": 119,
                              "column": 19
                            }
                          }
                        },
                        "range": [
                          3750,
                          3765
                        ],
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 4
                          },
                          "end": {
                            "line": 119,
                            "column": 19
                          }
                        }
                      },
                      "range": [
                        3750,
                        3766
                      ],
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 4
                        },
                        "end": {
                          "line": 119,
                          "column": 20
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3771,
                              3775
                            ],
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 4
                              },
                              "end": {
                                "line": 120,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_resourceListeners",
                            "range": [
                              3776,
                              3794
                            ],
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 9
                              },
                              "end": {
                                "line": 120,
                                "column": 27
                              }
                            }
                          },
                          "range": [
                            3771,
                            3794
                          ],
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 4
                            },
                            "end": {
                              "line": 120,
                              "column": 27
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [
                            {
                              "type": "Property",
                              "key": {
                                "type": "Literal",
                                "value": "added",
                                "raw": "\"added\"",
                                "range": [
                                  3799,
                                  3806
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 39
                                  }
                                }
                              },
                              "value": {
                                "type": "ObjectExpression",
                                "properties": [],
                                "range": [
                                  3808,
                                  3810
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 43
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                3799,
                                3810
                              ],
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 32
                                },
                                "end": {
                                  "line": 120,
                                  "column": 43
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Literal",
                                "value": "updated",
                                "raw": "\"updated\"",
                                "range": [
                                  3812,
                                  3821
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 54
                                  }
                                }
                              },
                              "value": {
                                "type": "ObjectExpression",
                                "properties": [],
                                "range": [
                                  3823,
                                  3825
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 58
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                3812,
                                3825
                              ],
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 45
                                },
                                "end": {
                                  "line": 120,
                                  "column": 58
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Literal",
                                "value": "removed",
                                "raw": "\"removed\"",
                                "range": [
                                  3827,
                                  3836
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 69
                                  }
                                }
                              },
                              "value": {
                                "type": "ObjectExpression",
                                "properties": [],
                                "range": [
                                  3838,
                                  3840
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 73
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                3827,
                                3840
                              ],
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 60
                                },
                                "end": {
                                  "line": 120,
                                  "column": 73
                                }
                              }
                            }
                          ],
                          "range": [
                            3797,
                            3842
                          ],
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 30
                            },
                            "end": {
                              "line": 120,
                              "column": 75
                            }
                          }
                        },
                        "range": [
                          3771,
                          3842
                        ],
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 4
                          },
                          "end": {
                            "line": 120,
                            "column": 75
                          }
                        }
                      },
                      "range": [
                        3771,
                        3843
                      ],
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 4
                        },
                        "end": {
                          "line": 120,
                          "column": 76
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3848,
                              3852
                            ],
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 4
                              },
                              "end": {
                                "line": 121,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_types",
                            "range": [
                              3853,
                              3859
                            ],
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 9
                              },
                              "end": {
                                "line": 121,
                                "column": 15
                              }
                            }
                          },
                          "range": [
                            3848,
                            3859
                          ],
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 4
                            },
                            "end": {
                              "line": 121,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [],
                          "range": [
                            3862,
                            3864
                          ],
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 18
                            },
                            "end": {
                              "line": 121,
                              "column": 20
                            }
                          }
                        },
                        "range": [
                          3848,
                          3864
                        ],
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 4
                          },
                          "end": {
                            "line": 121,
                            "column": 20
                          }
                        }
                      },
                      "range": [
                        3848,
                        3865
                      ],
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 4
                        },
                        "end": {
                          "line": 121,
                          "column": 21
                        }
                      }
                    }
                  ],
                  "range": [
                    3636,
                    3869
                  ],
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 23
                    },
                    "end": {
                      "line": 122,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  3626,
                  3869
                ],
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 13
                  },
                  "end": {
                    "line": 122,
                    "column": 3
                  }
                }
              },
              "kind": "constructor",
              "computed": false,
              "range": [
                3615,
                3869
              ],
              "loc": {
                "start": {
                  "line": 116,
                  "column": 2
                },
                "end": {
                  "line": 122,
                  "column": 3
                }
              },
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Add an individual resource to the store. This is used internally by the\n   * `push()` method.\n   *\n   * @since 0.1.0\n   * @param {!Object} object - Resource Object to add. See:\n            http://jsonapi.org/format/#document-resource-objects\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    3873,
                    4165
                  ],
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 2
                    },
                    "end": {
                      "line": 132,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "add",
                "range": [
                  4168,
                  4171
                ],
                "loc": {
                  "start": {
                    "line": 133,
                    "column": 2
                  },
                  "end": {
                    "line": 133,
                    "column": 5
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "object",
                    "range": [
                      4172,
                      4178
                    ],
                    "loc": {
                      "start": {
                        "line": 133,
                        "column": 6
                      },
                      "end": {
                        "line": 133,
                        "column": 12
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "Identifier",
                        "name": "object",
                        "range": [
                          4190,
                          4196
                        ],
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 8
                          },
                          "end": {
                            "line": 134,
                            "column": 14
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "LogicalExpression",
                              "operator": "&&",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "object",
                                  "range": [
                                    4210,
                                    4216
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    4217,
                                    4221
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  4210,
                                  4221
                                ],
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 21
                                  }
                                }
                              },
                              "right": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "object",
                                  "range": [
                                    4225,
                                    4231
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 31
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "id",
                                  "range": [
                                    4232,
                                    4234
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 34
                                    }
                                  }
                                },
                                "range": [
                                  4225,
                                  4234
                                ],
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                4210,
                                4234
                              ],
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 10
                                },
                                "end": {
                                  "line": 135,
                                  "column": 34
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "id": {
                                        "type": "Identifier",
                                        "name": "event",
                                        "range": [
                                          4250,
                                          4255
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 17
                                          }
                                        }
                                      },
                                      "init": {
                                        "type": "ConditionalExpression",
                                        "test": {
                                          "type": "LogicalExpression",
                                          "operator": "&&",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  4258,
                                                  4262
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_data",
                                                "range": [
                                                  4263,
                                                  4268
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 30
                                                  }
                                                }
                                              },
                                              "range": [
                                                4258,
                                                4268
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 136,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 136,
                                                  "column": 30
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "object",
                                                "range": [
                                                  4269,
                                                  4275
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "type",
                                                "range": [
                                                  4276,
                                                  4280
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              "range": [
                                                4269,
                                                4280
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 136,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 136,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            "range": [
                                              4258,
                                              4281
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 43
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    4285,
                                                    4289
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 136,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 136,
                                                      "column": 51
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "_data",
                                                  "range": [
                                                    4290,
                                                    4295
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 136,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 136,
                                                      "column": 57
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4285,
                                                  4295
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 57
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "object",
                                                  "range": [
                                                    4296,
                                                    4302
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 136,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 136,
                                                      "column": 64
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "type",
                                                  "range": [
                                                    4303,
                                                    4307
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 136,
                                                      "column": 65
                                                    },
                                                    "end": {
                                                      "line": 136,
                                                      "column": 69
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4296,
                                                  4307
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 69
                                                  }
                                                }
                                              },
                                              "range": [
                                                4285,
                                                4308
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 136,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 136,
                                                  "column": 70
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "object",
                                                "range": [
                                                  4309,
                                                  4315
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 77
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "id",
                                                "range": [
                                                  4316,
                                                  4318
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 78
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 80
                                                  }
                                                }
                                              },
                                              "range": [
                                                4309,
                                                4318
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 136,
                                                  "column": 71
                                                },
                                                "end": {
                                                  "line": 136,
                                                  "column": 80
                                                }
                                              }
                                            },
                                            "range": [
                                              4285,
                                              4319
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 81
                                              }
                                            }
                                          },
                                          "range": [
                                            4258,
                                            4319
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "Literal",
                                          "value": "updated",
                                          "raw": "\"updated\"",
                                          "range": [
                                            4322,
                                            4331
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 93
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "Literal",
                                          "value": "added",
                                          "raw": "\"added\"",
                                          "range": [
                                            4334,
                                            4341
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 96
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 103
                                            }
                                          }
                                        },
                                        "range": [
                                          4258,
                                          4341
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 103
                                          }
                                        }
                                      },
                                      "range": [
                                        4250,
                                        4341
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 103
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "let",
                                  "range": [
                                    4246,
                                    4342
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 104
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "id": {
                                        "type": "Identifier",
                                        "name": "resource",
                                        "range": [
                                          4355,
                                          4363
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              4366,
                                              4370
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 27
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "find",
                                            "range": [
                                              4371,
                                              4375
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 32
                                              }
                                            }
                                          },
                                          "range": [
                                            4366,
                                            4375
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "object",
                                              "range": [
                                                4376,
                                                4382
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 39
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "type",
                                              "range": [
                                                4383,
                                                4387
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 44
                                                }
                                              }
                                            },
                                            "range": [
                                              4376,
                                              4387
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 44
                                              }
                                            }
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "object",
                                              "range": [
                                                4389,
                                                4395
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 52
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "id",
                                              "range": [
                                                4396,
                                                4398
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 55
                                                }
                                              }
                                            },
                                            "range": [
                                              4389,
                                              4398
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 55
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4366,
                                          4399
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 56
                                          }
                                        }
                                      },
                                      "range": [
                                        4355,
                                        4399
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 56
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "let",
                                  "range": [
                                    4351,
                                    4400
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 57
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "id": {
                                        "type": "Identifier",
                                        "name": "definition",
                                        "range": [
                                          4413,
                                          4423
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              4426,
                                              4430
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_types",
                                            "range": [
                                              4431,
                                              4437
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "range": [
                                            4426,
                                            4437
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "object",
                                            "range": [
                                              4438,
                                              4444
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 43
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "type",
                                            "range": [
                                              4445,
                                              4449
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "range": [
                                            4438,
                                            4449
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 48
                                            }
                                          }
                                        },
                                        "range": [
                                          4426,
                                          4450
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 49
                                          }
                                        }
                                      },
                                      "range": [
                                        4413,
                                        4450
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 49
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "let",
                                  "range": [
                                    4409,
                                    4451
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 50
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "Object",
                                            "range": [
                                              4460,
                                              4466
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 139,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 139,
                                                "column": 14
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "keys",
                                            "range": [
                                              4467,
                                              4471
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 139,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 139,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "range": [
                                            4460,
                                            4471
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 139,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 139,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "definition",
                                            "range": [
                                              4472,
                                              4482
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 139,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 139,
                                                "column": 30
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4460,
                                          4483
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 139,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 139,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "forEach",
                                        "range": [
                                          4484,
                                          4491
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 139,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 139,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        4460,
                                        4491
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 139,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 139,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "id": null,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "name": "fieldName",
                                            "range": [
                                              4492,
                                              4501
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 139,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 139,
                                                "column": 49
                                              }
                                            }
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "IfStatement",
                                              "test": {
                                                "type": "BinaryExpression",
                                                "operator": "!==",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "fieldName",
                                                    "range": [
                                                      4521,
                                                      4530
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 140,
                                                        "column": 14
                                                      },
                                                      "end": {
                                                        "line": 140,
                                                        "column": 23
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Literal",
                                                    "value": 0,
                                                    "raw": "0",
                                                    "range": [
                                                      4531,
                                                      4532
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 140,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 140,
                                                        "column": 25
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4521,
                                                    4533
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 140,
                                                      "column": 14
                                                    },
                                                    "end": {
                                                      "line": 140,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Literal",
                                                  "value": "_",
                                                  "raw": "\"_\"",
                                                  "range": [
                                                    4538,
                                                    4541
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 140,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 140,
                                                      "column": 34
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4521,
                                                  4541
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 140,
                                                    "column": 14
                                                  },
                                                  "end": {
                                                    "line": 140,
                                                    "column": 34
                                                  }
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "range": [
                                                            4557,
                                                            4561
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 141,
                                                              "column": 12
                                                            },
                                                            "end": {
                                                              "line": 141,
                                                              "column": 16
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "_addField",
                                                          "range": [
                                                            4562,
                                                            4571
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 141,
                                                              "column": 17
                                                            },
                                                            "end": {
                                                              "line": 141,
                                                              "column": 26
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          4557,
                                                          4571
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 141,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 141,
                                                            "column": 26
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "object",
                                                          "range": [
                                                            4572,
                                                            4578
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 141,
                                                              "column": 27
                                                            },
                                                            "end": {
                                                              "line": 141,
                                                              "column": 33
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "Identifier",
                                                          "name": "resource",
                                                          "range": [
                                                            4580,
                                                            4588
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 141,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 141,
                                                              "column": 43
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "Identifier",
                                                          "name": "definition",
                                                          "range": [
                                                            4590,
                                                            4600
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 141,
                                                              "column": 45
                                                            },
                                                            "end": {
                                                              "line": 141,
                                                              "column": 55
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "Identifier",
                                                          "name": "fieldName",
                                                          "range": [
                                                            4602,
                                                            4611
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 141,
                                                              "column": 57
                                                            },
                                                            "end": {
                                                              "line": 141,
                                                              "column": 66
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        4557,
                                                        4612
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 141,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 141,
                                                          "column": 67
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4557,
                                                      4613
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 141,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 141,
                                                        "column": 68
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  4543,
                                                  4625
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 140,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 142,
                                                    "column": 11
                                                  }
                                                }
                                              },
                                              "alternate": null,
                                              "range": [
                                                4517,
                                                4625
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 140,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 142,
                                                  "column": 11
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            4505,
                                            4635
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 139,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 9
                                            }
                                          }
                                        },
                                        "generator": false,
                                        "expression": false,
                                        "range": [
                                          4492,
                                          4635
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 139,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 9
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      4460,
                                      4636
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 139,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "range": [
                                    4460,
                                    4637
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 139,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 11
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "LogicalExpression",
                                    "operator": "&&",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              4650,
                                              4654
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_resourceListeners",
                                            "range": [
                                              4655,
                                              4673
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "range": [
                                            4650,
                                            4673
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "event",
                                          "range": [
                                            4674,
                                            4679
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "range": [
                                          4650,
                                          4680
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 42
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "object",
                                          "range": [
                                            4681,
                                            4687
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 49
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "type",
                                          "range": [
                                            4688,
                                            4692
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          4681,
                                          4692
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "range": [
                                        4650,
                                        4693
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 55
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                4697,
                                                4701
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 144,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 144,
                                                  "column": 63
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "_resourceListeners",
                                              "range": [
                                                4702,
                                                4720
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 144,
                                                  "column": 64
                                                },
                                                "end": {
                                                  "line": 144,
                                                  "column": 82
                                                }
                                              }
                                            },
                                            "range": [
                                              4697,
                                              4720
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 82
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "event",
                                            "range": [
                                              4721,
                                              4726
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 83
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 88
                                              }
                                            }
                                          },
                                          "range": [
                                            4697,
                                            4727
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 89
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "object",
                                            "range": [
                                              4728,
                                              4734
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 90
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "type",
                                            "range": [
                                              4735,
                                              4739
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 97
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 101
                                              }
                                            }
                                          },
                                          "range": [
                                            4728,
                                            4739
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 90
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 101
                                            }
                                          }
                                        },
                                        "range": [
                                          4697,
                                          4740
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 102
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "object",
                                          "range": [
                                            4741,
                                            4747
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 103
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 109
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "id",
                                          "range": [
                                            4748,
                                            4750
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 110
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 112
                                            }
                                          }
                                        },
                                        "range": [
                                          4741,
                                          4750
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 103
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 112
                                          }
                                        }
                                      },
                                      "range": [
                                        4697,
                                        4751
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 113
                                        }
                                      }
                                    },
                                    "range": [
                                      4650,
                                      4751
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 113
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        4766,
                                                        4770
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 145,
                                                          "column": 11
                                                        },
                                                        "end": {
                                                          "line": 145,
                                                          "column": 15
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_resourceListeners",
                                                      "range": [
                                                        4771,
                                                        4789
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 145,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 145,
                                                          "column": 34
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4766,
                                                      4789
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 145,
                                                        "column": 11
                                                      },
                                                      "end": {
                                                        "line": 145,
                                                        "column": 34
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "event",
                                                    "range": [
                                                      4790,
                                                      4795
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 145,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 145,
                                                        "column": 40
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4766,
                                                    4796
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 145,
                                                      "column": 11
                                                    },
                                                    "end": {
                                                      "line": 145,
                                                      "column": 41
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "object",
                                                    "range": [
                                                      4797,
                                                      4803
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 145,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 145,
                                                        "column": 48
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "type",
                                                    "range": [
                                                      4804,
                                                      4808
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 145,
                                                        "column": 49
                                                      },
                                                      "end": {
                                                        "line": 145,
                                                        "column": 53
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4797,
                                                    4808
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 145,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 145,
                                                      "column": 53
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4766,
                                                  4809
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 145,
                                                    "column": 11
                                                  },
                                                  "end": {
                                                    "line": 145,
                                                    "column": 54
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "object",
                                                  "range": [
                                                    4810,
                                                    4816
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 145,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 145,
                                                      "column": 61
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "id",
                                                  "range": [
                                                    4817,
                                                    4819
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 145,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 145,
                                                      "column": 64
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4810,
                                                  4819
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 145,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 145,
                                                    "column": 64
                                                  }
                                                }
                                              },
                                              "range": [
                                                4766,
                                                4820
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 145,
                                                  "column": 11
                                                },
                                                "end": {
                                                  "line": 145,
                                                  "column": 65
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "forEach",
                                              "range": [
                                                4821,
                                                4828
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 145,
                                                  "column": 66
                                                },
                                                "end": {
                                                  "line": 145,
                                                  "column": 73
                                                }
                                              }
                                            },
                                            "range": [
                                              4766,
                                              4828
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 145,
                                                "column": 11
                                              },
                                              "end": {
                                                "line": 145,
                                                "column": 73
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "id": null,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "x",
                                                  "range": [
                                                    4829,
                                                    4830
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 145,
                                                      "column": 74
                                                    },
                                                    "end": {
                                                      "line": 145,
                                                      "column": 75
                                                    }
                                                  }
                                                }
                                              ],
                                              "body": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "x",
                                                      "range": [
                                                        4834,
                                                        4835
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 145,
                                                          "column": 79
                                                        },
                                                        "end": {
                                                          "line": 145,
                                                          "column": 80
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Literal",
                                                      "value": 0,
                                                      "raw": "0",
                                                      "range": [
                                                        4836,
                                                        4837
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 145,
                                                          "column": 81
                                                        },
                                                        "end": {
                                                          "line": 145,
                                                          "column": 82
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4834,
                                                      4838
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 145,
                                                        "column": 79
                                                      },
                                                      "end": {
                                                        "line": 145,
                                                        "column": 83
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "call",
                                                    "range": [
                                                      4839,
                                                      4843
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 145,
                                                        "column": 84
                                                      },
                                                      "end": {
                                                        "line": 145,
                                                        "column": 88
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4834,
                                                    4843
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 145,
                                                      "column": 79
                                                    },
                                                    "end": {
                                                      "line": 145,
                                                      "column": 88
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "x",
                                                      "range": [
                                                        4844,
                                                        4845
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 145,
                                                          "column": 89
                                                        },
                                                        "end": {
                                                          "line": 145,
                                                          "column": 90
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Literal",
                                                      "value": 1,
                                                      "raw": "1",
                                                      "range": [
                                                        4846,
                                                        4847
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 145,
                                                          "column": 91
                                                        },
                                                        "end": {
                                                          "line": 145,
                                                          "column": 92
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4844,
                                                      4848
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 145,
                                                        "column": 89
                                                      },
                                                      "end": {
                                                        "line": 145,
                                                        "column": 93
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "name": "resource",
                                                    "range": [
                                                      4850,
                                                      4858
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 145,
                                                        "column": 95
                                                      },
                                                      "end": {
                                                        "line": 145,
                                                        "column": 103
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  4834,
                                                  4859
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 145,
                                                    "column": 79
                                                  },
                                                  "end": {
                                                    "line": 145,
                                                    "column": 104
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": true,
                                              "range": [
                                                4829,
                                                4859
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 145,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 145,
                                                  "column": 104
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            4766,
                                            4860
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 145,
                                              "column": 11
                                            },
                                            "end": {
                                              "line": 145,
                                              "column": 105
                                            }
                                          }
                                        },
                                        "range": [
                                          4766,
                                          4861
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 11
                                          },
                                          "end": {
                                            "line": 145,
                                            "column": 106
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      4753,
                                      4871
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 115
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    4646,
                                    4871
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 9
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "MemberExpression",
                                    "computed": true,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4884,
                                            4888
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_collectionListeners",
                                          "range": [
                                            4889,
                                            4909
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          4884,
                                          4909
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "event",
                                        "range": [
                                          4910,
                                          4915
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        4884,
                                        4916
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "object",
                                        "range": [
                                          4917,
                                          4923
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 51
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "type",
                                        "range": [
                                          4924,
                                          4928
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 56
                                          }
                                        }
                                      },
                                      "range": [
                                        4917,
                                        4928
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 56
                                        }
                                      }
                                    },
                                    "range": [
                                      4884,
                                      4929
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 57
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      4943,
                                                      4947
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 14
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "_collectionListeners",
                                                    "range": [
                                                      4948,
                                                      4968
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 35
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4943,
                                                    4968
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 148,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 148,
                                                      "column": 35
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "event",
                                                  "range": [
                                                    4969,
                                                    4974
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 148,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 148,
                                                      "column": 41
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4943,
                                                  4975
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 148,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 148,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "object",
                                                  "range": [
                                                    4976,
                                                    4982
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 148,
                                                      "column": 43
                                                    },
                                                    "end": {
                                                      "line": 148,
                                                      "column": 49
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "type",
                                                  "range": [
                                                    4983,
                                                    4987
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 148,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 148,
                                                      "column": 54
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4976,
                                                  4987
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 148,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 148,
                                                    "column": 54
                                                  }
                                                }
                                              },
                                              "range": [
                                                4943,
                                                4988
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 148,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 148,
                                                  "column": 55
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "forEach",
                                              "range": [
                                                4989,
                                                4996
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 148,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 148,
                                                  "column": 63
                                                }
                                              }
                                            },
                                            "range": [
                                              4943,
                                              4996
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 63
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "id": null,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "x",
                                                  "range": [
                                                    4997,
                                                    4998
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 148,
                                                      "column": 64
                                                    },
                                                    "end": {
                                                      "line": 148,
                                                      "column": 65
                                                    }
                                                  }
                                                }
                                              ],
                                              "body": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "x",
                                                      "range": [
                                                        5002,
                                                        5003
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 148,
                                                          "column": 69
                                                        },
                                                        "end": {
                                                          "line": 148,
                                                          "column": 70
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Literal",
                                                      "value": 0,
                                                      "raw": "0",
                                                      "range": [
                                                        5004,
                                                        5005
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 148,
                                                          "column": 71
                                                        },
                                                        "end": {
                                                          "line": 148,
                                                          "column": 72
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5002,
                                                      5006
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "call",
                                                    "range": [
                                                      5007,
                                                      5011
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 78
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    5002,
                                                    5011
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 148,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 148,
                                                      "column": 78
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "x",
                                                      "range": [
                                                        5012,
                                                        5013
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 148,
                                                          "column": 79
                                                        },
                                                        "end": {
                                                          "line": 148,
                                                          "column": 80
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Literal",
                                                      "value": 1,
                                                      "raw": "1",
                                                      "range": [
                                                        5014,
                                                        5015
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 148,
                                                          "column": 81
                                                        },
                                                        "end": {
                                                          "line": 148,
                                                          "column": 82
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5012,
                                                      5016
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 79
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 83
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "name": "resource",
                                                    "range": [
                                                      5018,
                                                      5026
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 85
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 93
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  5002,
                                                  5027
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 148,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 148,
                                                    "column": 94
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": true,
                                              "range": [
                                                4997,
                                                5027
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 148,
                                                  "column": 64
                                                },
                                                "end": {
                                                  "line": 148,
                                                  "column": 94
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            4943,
                                            5028
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 95
                                            }
                                          }
                                        },
                                        "range": [
                                          4943,
                                          5029
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 148,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 148,
                                            "column": 96
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      4931,
                                      5039
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    4880,
                                    5039
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                4236,
                                5047
                              ],
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 36
                                },
                                "end": {
                                  "line": 150,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ThrowStatement",
                                  "argument": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "TypeError",
                                      "range": [
                                        5073,
                                        5082
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "TemplateLiteral",
                                        "quasis": [
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "The data must have a type and id",
                                              "cooked": "The data must have a type and id"
                                            },
                                            "tail": true,
                                            "range": [
                                              5083,
                                              5117
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 151,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 151,
                                                "column": 62
                                              }
                                            }
                                          }
                                        ],
                                        "expressions": [],
                                        "range": [
                                          5083,
                                          5117
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 62
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      5069,
                                      5118
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 63
                                      }
                                    }
                                  },
                                  "range": [
                                    5063,
                                    5119
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 64
                                    }
                                  }
                                }
                              ],
                              "range": [
                                5053,
                                5127
                              ],
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 13
                                },
                                "end": {
                                  "line": 152,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              4206,
                              5127
                            ],
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 6
                              },
                              "end": {
                                "line": 152,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          4198,
                          5133
                        ],
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 16
                          },
                          "end": {
                            "line": 153,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "TypeError",
                                "range": [
                                  5157,
                                  5166
                                ],
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 25
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "TemplateLiteral",
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "You must provide data to add",
                                        "cooked": "You must provide data to add"
                                      },
                                      "tail": true,
                                      "range": [
                                        5167,
                                        5197
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 154,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 154,
                                          "column": 56
                                        }
                                      }
                                    }
                                  ],
                                  "expressions": [],
                                  "range": [
                                    5167,
                                    5197
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 56
                                    }
                                  }
                                }
                              ],
                              "range": [
                                5153,
                                5198
                              ],
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 12
                                },
                                "end": {
                                  "line": 154,
                                  "column": 57
                                }
                              }
                            },
                            "range": [
                              5147,
                              5199
                            ],
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 6
                              },
                              "end": {
                                "line": 154,
                                "column": 58
                              }
                            }
                          }
                        ],
                        "range": [
                          5139,
                          5205
                        ],
                        "loc": {
                          "start": {
                            "line": 153,
                            "column": 11
                          },
                          "end": {
                            "line": 155,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4186,
                        5205
                      ],
                      "loc": {
                        "start": {
                          "line": 134,
                          "column": 4
                        },
                        "end": {
                          "line": 155,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    4180,
                    5209
                  ],
                  "loc": {
                    "start": {
                      "line": 133,
                      "column": 14
                    },
                    "end": {
                      "line": 156,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  4171,
                  5209
                ],
                "loc": {
                  "start": {
                    "line": 133,
                    "column": 5
                  },
                  "end": {
                    "line": 156,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                4168,
                5209
              ],
              "loc": {
                "start": {
                  "line": 133,
                  "column": 2
                },
                "end": {
                  "line": 156,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Add an individual resource to the store. This is used internally by the\n   * `push()` method.\n   *\n   * @since 0.1.0\n   * @param {!Object} object - Resource Object to add. See:\n            http://jsonapi.org/format/#document-resource-objects\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    3873,
                    4165
                  ],
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 2
                    },
                    "end": {
                      "line": 132,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Converts the given partial into a JSON API compliant representation.\n   *\n   * @since 0.5.0\n   * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n   * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n   * @param {!object} partial - The data to convert.\n   * @return {object} - JSON API version of the object.\n   ",
                  "range": [
                    5213,
                    5659
                  ],
                  "loc": {
                    "start": {
                      "line": 158,
                      "column": 2
                    },
                    "end": {
                      "line": 166,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "convert",
                "range": [
                  5662,
                  5669
                ],
                "loc": {
                  "start": {
                    "line": 167,
                    "column": 2
                  },
                  "end": {
                    "line": 167,
                    "column": 9
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      5670,
                      5674
                    ],
                    "loc": {
                      "start": {
                        "line": 167,
                        "column": 10
                      },
                      "end": {
                        "line": 167,
                        "column": 14
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "id",
                    "range": [
                      5676,
                      5678
                    ],
                    "loc": {
                      "start": {
                        "line": 167,
                        "column": 16
                      },
                      "end": {
                        "line": 167,
                        "column": 18
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "partial",
                    "range": [
                      5680,
                      5687
                    ],
                    "loc": {
                      "start": {
                        "line": 167,
                        "column": 20
                      },
                      "end": {
                        "line": 167,
                        "column": 27
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "Identifier",
                          "name": "type",
                          "range": [
                            5699,
                            5703
                          ],
                          "loc": {
                            "start": {
                              "line": 168,
                              "column": 8
                            },
                            "end": {
                              "line": 168,
                              "column": 12
                            }
                          }
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "operator": "===",
                          "left": {
                            "type": "UnaryExpression",
                            "operator": "typeof",
                            "argument": {
                              "type": "Identifier",
                              "name": "type",
                              "range": [
                                5714,
                                5718
                              ],
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 23
                                },
                                "end": {
                                  "line": 168,
                                  "column": 27
                                }
                              }
                            },
                            "prefix": true,
                            "range": [
                              5707,
                              5718
                            ],
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 16
                              },
                              "end": {
                                "line": 168,
                                "column": 27
                              }
                            }
                          },
                          "right": {
                            "type": "Literal",
                            "value": "object",
                            "raw": "\"object\"",
                            "range": [
                              5723,
                              5731
                            ],
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 32
                              },
                              "end": {
                                "line": 168,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            5707,
                            5731
                          ],
                          "loc": {
                            "start": {
                              "line": 168,
                              "column": 16
                            },
                            "end": {
                              "line": 168,
                              "column": 40
                            }
                          }
                        },
                        "range": [
                          5699,
                          5731
                        ],
                        "loc": {
                          "start": {
                            "line": 168,
                            "column": 8
                          },
                          "end": {
                            "line": 168,
                            "column": 40
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    5748,
                                    5752
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 17
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "convert",
                                  "range": [
                                    5753,
                                    5760
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  5748,
                                  5760
                                ],
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 25
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      5761,
                                      5765
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      5766,
                                      5770
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    5761,
                                    5770
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 35
                                    }
                                  }
                                },
                                {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      5772,
                                      5776
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "id",
                                    "range": [
                                      5777,
                                      5779
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "range": [
                                    5772,
                                    5779
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 44
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    5781,
                                    5785
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 50
                                    }
                                  }
                                }
                              ],
                              "range": [
                                5748,
                                5786
                              ],
                              "loc": {
                                "start": {
                                  "line": 169,
                                  "column": 13
                                },
                                "end": {
                                  "line": 169,
                                  "column": 51
                                }
                              }
                            },
                            "range": [
                              5741,
                              5787
                            ],
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 6
                              },
                              "end": {
                                "line": 169,
                                "column": 52
                              }
                            }
                          }
                        ],
                        "range": [
                          5733,
                          5793
                        ],
                        "loc": {
                          "start": {
                            "line": 168,
                            "column": 42
                          },
                          "end": {
                            "line": 170,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "test": {
                          "type": "LogicalExpression",
                          "operator": "&&",
                          "left": {
                            "type": "Identifier",
                            "name": "id",
                            "range": [
                              5803,
                              5805
                            ],
                            "loc": {
                              "start": {
                                "line": 170,
                                "column": 15
                              },
                              "end": {
                                "line": 170,
                                "column": 17
                              }
                            }
                          },
                          "right": {
                            "type": "BinaryExpression",
                            "operator": "===",
                            "left": {
                              "type": "UnaryExpression",
                              "operator": "typeof",
                              "argument": {
                                "type": "Identifier",
                                "name": "id",
                                "range": [
                                  5816,
                                  5818
                                ],
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 30
                                  }
                                }
                              },
                              "prefix": true,
                              "range": [
                                5809,
                                5818
                              ],
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 21
                                },
                                "end": {
                                  "line": 170,
                                  "column": 30
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": "object",
                              "raw": "\"object\"",
                              "range": [
                                5823,
                                5831
                              ],
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 35
                                },
                                "end": {
                                  "line": 170,
                                  "column": 43
                                }
                              }
                            },
                            "range": [
                              5809,
                              5831
                            ],
                            "loc": {
                              "start": {
                                "line": 170,
                                "column": 21
                              },
                              "end": {
                                "line": 170,
                                "column": 43
                              }
                            }
                          },
                          "range": [
                            5803,
                            5831
                          ],
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 15
                            },
                            "end": {
                              "line": 170,
                              "column": 43
                            }
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      5848,
                                      5852
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "convert",
                                    "range": [
                                      5853,
                                      5860
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    5848,
                                    5860
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 25
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      5861,
                                      5865
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 30
                                      }
                                    }
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "id",
                                      "range": [
                                        5867,
                                        5869
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 171,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 171,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "id",
                                      "range": [
                                        5870,
                                        5872
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 171,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 171,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      5867,
                                      5872
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 37
                                      }
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "name": "id",
                                    "range": [
                                      5874,
                                      5876
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 41
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  5848,
                                  5877
                                ],
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 42
                                  }
                                }
                              },
                              "range": [
                                5841,
                                5878
                              ],
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 6
                                },
                                "end": {
                                  "line": 171,
                                  "column": 43
                                }
                              }
                            }
                          ],
                          "range": [
                            5833,
                            5884
                          ],
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 45
                            },
                            "end": {
                              "line": 172,
                              "column": 5
                            }
                          }
                        },
                        "alternate": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "data",
                                    "range": [
                                      5902,
                                      5906
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 14
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "ObjectExpression",
                                    "properties": [
                                      {
                                        "type": "Property",
                                        "key": {
                                          "type": "Identifier",
                                          "name": "type",
                                          "range": [
                                            5919,
                                            5923
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 174,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 174,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "value": {
                                          "type": "Identifier",
                                          "name": "type",
                                          "range": [
                                            5925,
                                            5929
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 174,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 174,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "kind": "init",
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "range": [
                                          5919,
                                          5929
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 18
                                          }
                                        }
                                      },
                                      {
                                        "type": "Property",
                                        "key": {
                                          "type": "Identifier",
                                          "name": "attributes",
                                          "range": [
                                            5939,
                                            5949
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 175,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 175,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "value": {
                                          "type": "ObjectExpression",
                                          "properties": [],
                                          "range": [
                                            5951,
                                            5953
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 175,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 175,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "kind": "init",
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "range": [
                                          5939,
                                          5953
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 22
                                          }
                                        }
                                      },
                                      {
                                        "type": "Property",
                                        "key": {
                                          "type": "Identifier",
                                          "name": "relationships",
                                          "range": [
                                            5963,
                                            5976
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 176,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 176,
                                              "column": 21
                                            }
                                          }
                                        },
                                        "value": {
                                          "type": "ObjectExpression",
                                          "properties": [],
                                          "range": [
                                            5978,
                                            5980
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 176,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 176,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "kind": "init",
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "range": [
                                          5963,
                                          5980
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 25
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      5909,
                                      5988
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 177,
                                        "column": 7
                                      }
                                    }
                                  },
                                  "range": [
                                    5902,
                                    5988
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 173,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 177,
                                      "column": 7
                                    }
                                  }
                                }
                              ],
                              "kind": "let",
                              "range": [
                                5898,
                                5989
                              ],
                              "loc": {
                                "start": {
                                  "line": 173,
                                  "column": 6
                                },
                                "end": {
                                  "line": 177,
                                  "column": 8
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "id",
                                "range": [
                                  6000,
                                  6002
                                ],
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 178,
                                    "column": 12
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "data",
                                          "range": [
                                            6014,
                                            6018
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 179,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 179,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "id",
                                          "range": [
                                            6019,
                                            6021
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 179,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 179,
                                              "column": 15
                                            }
                                          }
                                        },
                                        "range": [
                                          6014,
                                          6021
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 179,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 179,
                                            "column": 15
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "name": "id",
                                        "range": [
                                          6024,
                                          6026
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 179,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 179,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "range": [
                                        6014,
                                        6026
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 179,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 179,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "range": [
                                      6014,
                                      6027
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 179,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 179,
                                        "column": 21
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  6004,
                                  6035
                                ],
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 180,
                                    "column": 7
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                5996,
                                6035
                              ],
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 6
                                },
                                "end": {
                                  "line": 180,
                                  "column": 7
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "definition",
                                    "range": [
                                      6046,
                                      6056
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 181,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 181,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": true,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          6059,
                                          6063
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_types",
                                        "range": [
                                          6064,
                                          6070
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        6059,
                                        6070
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 181,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 181,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "data",
                                        "range": [
                                          6071,
                                          6075
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "type",
                                        "range": [
                                          6076,
                                          6080
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 44
                                          }
                                        }
                                      },
                                      "range": [
                                        6071,
                                        6080
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 181,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 181,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      6059,
                                      6081
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 181,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 181,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "range": [
                                    6046,
                                    6081
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 181,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 181,
                                      "column": 45
                                    }
                                  }
                                }
                              ],
                              "kind": "let",
                              "range": [
                                6042,
                                6082
                              ],
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 6
                                },
                                "end": {
                                  "line": 181,
                                  "column": 46
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "Object",
                                        "range": [
                                          6089,
                                          6095
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 182,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 182,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "keys",
                                        "range": [
                                          6096,
                                          6100
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 182,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 182,
                                            "column": 17
                                          }
                                        }
                                      },
                                      "range": [
                                        6089,
                                        6100
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 182,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 182,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "definition",
                                        "range": [
                                          6101,
                                          6111
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 182,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 182,
                                            "column": 28
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      6089,
                                      6112
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 182,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 182,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "forEach",
                                    "range": [
                                      6113,
                                      6120
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 182,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 182,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    6089,
                                    6120
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 182,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 182,
                                      "column": 37
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "fieldName",
                                        "range": [
                                          6121,
                                          6130
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 182,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 182,
                                            "column": 47
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "BinaryExpression",
                                            "operator": "!==",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "fieldName",
                                                "range": [
                                                  6148,
                                                  6157
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 183,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 183,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "value": 0,
                                                "raw": "0",
                                                "range": [
                                                  6158,
                                                  6159
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 183,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 183,
                                                    "column": 23
                                                  }
                                                }
                                              },
                                              "range": [
                                                6148,
                                                6160
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 183,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 183,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "Literal",
                                              "value": "_",
                                              "raw": "\"_\"",
                                              "range": [
                                                6165,
                                                6168
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 183,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 183,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "range": [
                                              6148,
                                              6168
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 183,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 183,
                                                "column": 32
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": true,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "definition",
                                                        "range": [
                                                          6182,
                                                          6192
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 184,
                                                            "column": 10
                                                          },
                                                          "end": {
                                                            "line": 184,
                                                            "column": 20
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "fieldName",
                                                        "range": [
                                                          6193,
                                                          6202
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 184,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 184,
                                                            "column": 30
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        6182,
                                                        6203
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 184,
                                                          "column": 10
                                                        },
                                                        "end": {
                                                          "line": 184,
                                                          "column": 31
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "serialize",
                                                      "range": [
                                                        6204,
                                                        6213
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 184,
                                                          "column": 32
                                                        },
                                                        "end": {
                                                          "line": 184,
                                                          "column": 41
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      6182,
                                                      6213
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 184,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 184,
                                                        "column": 41
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "partial",
                                                      "range": [
                                                        6214,
                                                        6221
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 184,
                                                          "column": 42
                                                        },
                                                        "end": {
                                                          "line": 184,
                                                          "column": 49
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "name": "data",
                                                      "range": [
                                                        6223,
                                                        6227
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 184,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 184,
                                                          "column": 55
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "name": "fieldName",
                                                      "range": [
                                                        6229,
                                                        6238
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 184,
                                                          "column": 57
                                                        },
                                                        "end": {
                                                          "line": 184,
                                                          "column": 66
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    6182,
                                                    6239
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 184,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 184,
                                                      "column": 67
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  6182,
                                                  6240
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 184,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 184,
                                                    "column": 68
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              6170,
                                              6250
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 183,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 185,
                                                "column": 9
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            6144,
                                            6250
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 183,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 185,
                                              "column": 9
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        6134,
                                        6258
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 182,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 7
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      6121,
                                      6258
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 182,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 7
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  6089,
                                  6259
                                ],
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 186,
                                    "column": 8
                                  }
                                }
                              },
                              "range": [
                                6089,
                                6260
                              ],
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 6
                                },
                                "end": {
                                  "line": 186,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "Identifier",
                                "name": "data",
                                "range": [
                                  6274,
                                  6278
                                ],
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 17
                                  }
                                }
                              },
                              "range": [
                                6267,
                                6279
                              ],
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 6
                                },
                                "end": {
                                  "line": 187,
                                  "column": 18
                                }
                              }
                            }
                          ],
                          "range": [
                            5890,
                            6285
                          ],
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 11
                            },
                            "end": {
                              "line": 188,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          5799,
                          6285
                        ],
                        "loc": {
                          "start": {
                            "line": 170,
                            "column": 11
                          },
                          "end": {
                            "line": 188,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        5695,
                        6285
                      ],
                      "loc": {
                        "start": {
                          "line": 168,
                          "column": 4
                        },
                        "end": {
                          "line": 188,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    5689,
                    6289
                  ],
                  "loc": {
                    "start": {
                      "line": 167,
                      "column": 29
                    },
                    "end": {
                      "line": 189,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  5669,
                  6289
                ],
                "loc": {
                  "start": {
                    "line": 167,
                    "column": 9
                  },
                  "end": {
                    "line": 189,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                5662,
                6289
              ],
              "loc": {
                "start": {
                  "line": 167,
                  "column": 2
                },
                "end": {
                  "line": 189,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Converts the given partial into a JSON API compliant representation.\n   *\n   * @since 0.5.0\n   * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n   * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n   * @param {!object} partial - The data to convert.\n   * @return {object} - JSON API version of the object.\n   ",
                  "range": [
                    5213,
                    5659
                  ],
                  "loc": {
                    "start": {
                      "line": 158,
                      "column": 2
                    },
                    "end": {
                      "line": 166,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Attempts to create the resource through the adapter and adds it to  the\n   * store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!Object} partial - Data to create the resource with.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.create(\"product\", { title: \"A Book\" }, (product) => {\n   *   console.log(product.title);\n   * });\n   ",
                  "range": [
                    6293,
                    6954
                  ],
                  "loc": {
                    "start": {
                      "line": 191,
                      "column": 2
                    },
                    "end": {
                      "line": 209,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "create",
                "range": [
                  6957,
                  6963
                ],
                "loc": {
                  "start": {
                    "line": 210,
                    "column": 2
                  },
                  "end": {
                    "line": 210,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      6964,
                      6968
                    ],
                    "loc": {
                      "start": {
                        "line": 210,
                        "column": 9
                      },
                      "end": {
                        "line": 210,
                        "column": 13
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "partial",
                    "range": [
                      6970,
                      6977
                    ],
                    "loc": {
                      "start": {
                        "line": 210,
                        "column": 15
                      },
                      "end": {
                        "line": 210,
                        "column": 22
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "success",
                    "range": [
                      6979,
                      6986
                    ],
                    "loc": {
                      "start": {
                        "line": 210,
                        "column": 24
                      },
                      "end": {
                        "line": 210,
                        "column": 31
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "error",
                    "range": [
                      6988,
                      6993
                    ],
                    "loc": {
                      "start": {
                        "line": 210,
                        "column": 33
                      },
                      "end": {
                        "line": 210,
                        "column": 38
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "context",
                    "range": [
                      6995,
                      7002
                    ],
                    "loc": {
                      "start": {
                        "line": 210,
                        "column": 40
                      },
                      "end": {
                        "line": 210,
                        "column": 47
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            7014,
                            7018
                          ],
                          "loc": {
                            "start": {
                              "line": 211,
                              "column": 8
                            },
                            "end": {
                              "line": 211,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_adapter",
                          "range": [
                            7019,
                            7027
                          ],
                          "loc": {
                            "start": {
                              "line": 211,
                              "column": 13
                            },
                            "end": {
                              "line": 211,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          7014,
                          7027
                        ],
                        "loc": {
                          "start": {
                            "line": 211,
                            "column": 8
                          },
                          "end": {
                            "line": 211,
                            "column": 21
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      7037,
                                      7041
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_adapter",
                                    "range": [
                                      7042,
                                      7050
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "range": [
                                    7037,
                                    7050
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "create",
                                  "range": [
                                    7051,
                                    7057
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  7037,
                                  7057
                                ],
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 26
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    7058,
                                    7062
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 31
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    7064,
                                    7068
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 37
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "partial",
                                  "range": [
                                    7070,
                                    7077
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 46
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "success",
                                  "range": [
                                    7079,
                                    7086
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 55
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "error",
                                  "range": [
                                    7088,
                                    7093
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 62
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "context",
                                  "range": [
                                    7095,
                                    7102
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 71
                                    }
                                  }
                                }
                              ],
                              "range": [
                                7037,
                                7103
                              ],
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 6
                                },
                                "end": {
                                  "line": 212,
                                  "column": 72
                                }
                              }
                            },
                            "range": [
                              7037,
                              7104
                            ],
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 6
                              },
                              "end": {
                                "line": 212,
                                "column": 73
                              }
                            }
                          }
                        ],
                        "range": [
                          7029,
                          7110
                        ],
                        "loc": {
                          "start": {
                            "line": 211,
                            "column": 23
                          },
                          "end": {
                            "line": 213,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  7134,
                                  7139
                                ],
                                "loc": {
                                  "start": {
                                    "line": 214,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 214,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
                                  "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
                                  "range": [
                                    7140,
                                    7236
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 214,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 214,
                                      "column": 118
                                    }
                                  }
                                }
                              ],
                              "range": [
                                7130,
                                7237
                              ],
                              "loc": {
                                "start": {
                                  "line": 214,
                                  "column": 12
                                },
                                "end": {
                                  "line": 214,
                                  "column": 119
                                }
                              }
                            },
                            "range": [
                              7124,
                              7238
                            ],
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 6
                              },
                              "end": {
                                "line": 214,
                                "column": 120
                              }
                            }
                          }
                        ],
                        "range": [
                          7116,
                          7244
                        ],
                        "loc": {
                          "start": {
                            "line": 213,
                            "column": 11
                          },
                          "end": {
                            "line": 215,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        7010,
                        7244
                      ],
                      "loc": {
                        "start": {
                          "line": 211,
                          "column": 4
                        },
                        "end": {
                          "line": 215,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    7004,
                    7248
                  ],
                  "loc": {
                    "start": {
                      "line": 210,
                      "column": 49
                    },
                    "end": {
                      "line": 216,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  6963,
                  7248
                ],
                "loc": {
                  "start": {
                    "line": 210,
                    "column": 8
                  },
                  "end": {
                    "line": 216,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                6957,
                7248
              ],
              "loc": {
                "start": {
                  "line": 210,
                  "column": 2
                },
                "end": {
                  "line": 216,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Attempts to create the resource through the adapter and adds it to  the\n   * store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!Object} partial - Data to create the resource with.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.create(\"product\", { title: \"A Book\" }, (product) => {\n   *   console.log(product.title);\n   * });\n   ",
                  "range": [
                    6293,
                    6954
                  ],
                  "loc": {
                    "start": {
                      "line": 191,
                      "column": 2
                    },
                    "end": {
                      "line": 209,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Defines a type of resource.\n   *\n   * @since 0.2.0\n   * @param {!string|string[]} names - Name(s) of the resource.\n   * @param {!Object} definition - The resource's definition.\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    7252,
                    7479
                  ],
                  "loc": {
                    "start": {
                      "line": 218,
                      "column": 2
                    },
                    "end": {
                      "line": 225,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "define",
                "range": [
                  7482,
                  7488
                ],
                "loc": {
                  "start": {
                    "line": 226,
                    "column": 2
                  },
                  "end": {
                    "line": 226,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "names",
                    "range": [
                      7489,
                      7494
                    ],
                    "loc": {
                      "start": {
                        "line": 226,
                        "column": 9
                      },
                      "end": {
                        "line": 226,
                        "column": 14
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "definition",
                    "range": [
                      7496,
                      7506
                    ],
                    "loc": {
                      "start": {
                        "line": 226,
                        "column": 16
                      },
                      "end": {
                        "line": 226,
                        "column": 26
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "name": "names",
                          "range": [
                            7514,
                            7519
                          ],
                          "loc": {
                            "start": {
                              "line": 227,
                              "column": 4
                            },
                            "end": {
                              "line": 227,
                              "column": 9
                            }
                          }
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "test": {
                            "type": "BinaryExpression",
                            "operator": "===",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "names",
                                "range": [
                                  7523,
                                  7528
                                ],
                                "loc": {
                                  "start": {
                                    "line": 227,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 227,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "constructor",
                                "range": [
                                  7529,
                                  7540
                                ],
                                "loc": {
                                  "start": {
                                    "line": 227,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 227,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                7523,
                                7540
                              ],
                              "loc": {
                                "start": {
                                  "line": 227,
                                  "column": 13
                                },
                                "end": {
                                  "line": 227,
                                  "column": 30
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "Array",
                              "range": [
                                7545,
                                7550
                              ],
                              "loc": {
                                "start": {
                                  "line": 227,
                                  "column": 35
                                },
                                "end": {
                                  "line": 227,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              7523,
                              7550
                            ],
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 13
                              },
                              "end": {
                                "line": 227,
                                "column": 40
                              }
                            }
                          },
                          "consequent": {
                            "type": "Identifier",
                            "name": "names",
                            "range": [
                              7554,
                              7559
                            ],
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 44
                              },
                              "end": {
                                "line": 227,
                                "column": 49
                              }
                            }
                          },
                          "alternate": {
                            "type": "ArrayExpression",
                            "elements": [
                              {
                                "type": "Identifier",
                                "name": "names",
                                "range": [
                                  7564,
                                  7569
                                ],
                                "loc": {
                                  "start": {
                                    "line": 227,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 227,
                                    "column": 59
                                  }
                                }
                              }
                            ],
                            "range": [
                              7562,
                              7571
                            ],
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 52
                              },
                              "end": {
                                "line": 227,
                                "column": 61
                              }
                            }
                          },
                          "range": [
                            7522,
                            7571
                          ],
                          "loc": {
                            "start": {
                              "line": 227,
                              "column": 12
                            },
                            "end": {
                              "line": 227,
                              "column": 61
                            }
                          }
                        },
                        "range": [
                          7514,
                          7571
                        ],
                        "loc": {
                          "start": {
                            "line": 227,
                            "column": 4
                          },
                          "end": {
                            "line": 227,
                            "column": 61
                          }
                        }
                      },
                      "range": [
                        7514,
                        7572
                      ],
                      "loc": {
                        "start": {
                          "line": 227,
                          "column": 4
                        },
                        "end": {
                          "line": 227,
                          "column": 62
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "Identifier",
                        "name": "definition",
                        "range": [
                          7581,
                          7591
                        ],
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 8
                          },
                          "end": {
                            "line": 228,
                            "column": 18
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "definition",
                                  "range": [
                                    7601,
                                    7611
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "_names",
                                  "range": [
                                    7612,
                                    7618
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  7601,
                                  7618
                                ],
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 23
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "names",
                                "range": [
                                  7621,
                                  7626
                                ],
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                7601,
                                7626
                              ],
                              "loc": {
                                "start": {
                                  "line": 229,
                                  "column": 6
                                },
                                "end": {
                                  "line": 229,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              7601,
                              7627
                            ],
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 6
                              },
                              "end": {
                                "line": 229,
                                "column": 32
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "names",
                                  "range": [
                                    7634,
                                    7639
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "forEach",
                                  "range": [
                                    7640,
                                    7647
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  7634,
                                  7647
                                ],
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "id": null,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "name": "name",
                                      "range": [
                                        7648,
                                        7652
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 230,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 230,
                                          "column": 24
                                        }
                                      }
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "test": {
                                          "type": "UnaryExpression",
                                          "operator": "!",
                                          "argument": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  7671,
                                                  7675
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 231,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 231,
                                                    "column": 17
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_types",
                                                "range": [
                                                  7676,
                                                  7682
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 231,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 231,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "range": [
                                                7671,
                                                7682
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 231,
                                                  "column": 13
                                                },
                                                "end": {
                                                  "line": 231,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "name",
                                              "range": [
                                                7683,
                                                7687
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 231,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 231,
                                                  "column": 29
                                                }
                                              }
                                            },
                                            "range": [
                                              7671,
                                              7688
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 231,
                                                "column": 13
                                              },
                                              "end": {
                                                "line": 231,
                                                "column": 30
                                              }
                                            }
                                          },
                                          "prefix": true,
                                          "range": [
                                            7670,
                                            7688
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 231,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 231,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "operator": "=",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        7702,
                                                        7706
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 232,
                                                          "column": 10
                                                        },
                                                        "end": {
                                                          "line": 232,
                                                          "column": 14
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_types",
                                                      "range": [
                                                        7707,
                                                        7713
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 232,
                                                          "column": 15
                                                        },
                                                        "end": {
                                                          "line": 232,
                                                          "column": 21
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      7702,
                                                      7713
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 232,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 232,
                                                        "column": 21
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "name",
                                                    "range": [
                                                      7714,
                                                      7718
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 232,
                                                        "column": 22
                                                      },
                                                      "end": {
                                                        "line": 232,
                                                        "column": 26
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    7702,
                                                    7719
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 232,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 232,
                                                      "column": 27
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Identifier",
                                                  "name": "definition",
                                                  "range": [
                                                    7722,
                                                    7732
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 232,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 232,
                                                      "column": 40
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  7702,
                                                  7732
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 232,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 232,
                                                    "column": 40
                                                  }
                                                }
                                              },
                                              "range": [
                                                7702,
                                                7733
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 232,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 232,
                                                  "column": 41
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            7690,
                                            7743
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 231,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 233,
                                              "column": 9
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ThrowStatement",
                                              "argument": {
                                                "type": "NewExpression",
                                                "callee": {
                                                  "type": "Identifier",
                                                  "name": "Error",
                                                  "range": [
                                                    7771,
                                                    7776
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 234,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 234,
                                                      "column": 25
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "TemplateLiteral",
                                                    "quasis": [
                                                      {
                                                        "type": "TemplateElement",
                                                        "value": {
                                                          "raw": "The type '",
                                                          "cooked": "The type '"
                                                        },
                                                        "tail": false,
                                                        "range": [
                                                          7777,
                                                          7790
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 234,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 234,
                                                            "column": 39
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "TemplateElement",
                                                        "value": {
                                                          "raw": "' has already been defined.",
                                                          "cooked": "' has already been defined."
                                                        },
                                                        "tail": true,
                                                        "range": [
                                                          7794,
                                                          7823
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 234,
                                                            "column": 43
                                                          },
                                                          "end": {
                                                            "line": 234,
                                                            "column": 72
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "expressions": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "name",
                                                        "range": [
                                                          7790,
                                                          7794
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 234,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 234,
                                                            "column": 43
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      7777,
                                                      7823
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 234,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 234,
                                                        "column": 72
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  7767,
                                                  7824
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 234,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 234,
                                                    "column": 73
                                                  }
                                                }
                                              },
                                              "range": [
                                                7761,
                                                7825
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 234,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 234,
                                                  "column": 74
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            7749,
                                            7835
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 233,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 235,
                                              "column": 9
                                            }
                                          }
                                        },
                                        "range": [
                                          7666,
                                          7835
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 231,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 235,
                                            "column": 9
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      7656,
                                      7843
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 230,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 7
                                      }
                                    }
                                  },
                                  "generator": false,
                                  "expression": false,
                                  "range": [
                                    7648,
                                    7843
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 7
                                    }
                                  }
                                }
                              ],
                              "range": [
                                7634,
                                7844
                              ],
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 6
                                },
                                "end": {
                                  "line": 236,
                                  "column": 8
                                }
                              }
                            },
                            "range": [
                              7634,
                              7845
                            ],
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 6
                              },
                              "end": {
                                "line": 236,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          7593,
                          7851
                        ],
                        "loc": {
                          "start": {
                            "line": 228,
                            "column": 20
                          },
                          "end": {
                            "line": 237,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  7875,
                                  7880
                                ],
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "TemplateLiteral",
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "You must provide a definition for the type '",
                                        "cooked": "You must provide a definition for the type '"
                                      },
                                      "tail": false,
                                      "range": [
                                        7881,
                                        7928
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 69
                                        }
                                      }
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "'.",
                                        "cooked": "'."
                                      },
                                      "tail": true,
                                      "range": [
                                        7936,
                                        7940
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 77
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 81
                                        }
                                      }
                                    }
                                  ],
                                  "expressions": [
                                    {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "names",
                                        "range": [
                                          7928,
                                          7933
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 238,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 238,
                                            "column": 74
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "value": 0,
                                        "raw": "0",
                                        "range": [
                                          7934,
                                          7935
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 238,
                                            "column": 75
                                          },
                                          "end": {
                                            "line": 238,
                                            "column": 76
                                          }
                                        }
                                      },
                                      "range": [
                                        7928,
                                        7936
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 77
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    7881,
                                    7940
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 81
                                    }
                                  }
                                }
                              ],
                              "range": [
                                7871,
                                7941
                              ],
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 12
                                },
                                "end": {
                                  "line": 238,
                                  "column": 82
                                }
                              }
                            },
                            "range": [
                              7865,
                              7942
                            ],
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 6
                              },
                              "end": {
                                "line": 238,
                                "column": 83
                              }
                            }
                          }
                        ],
                        "range": [
                          7857,
                          7948
                        ],
                        "loc": {
                          "start": {
                            "line": 237,
                            "column": 11
                          },
                          "end": {
                            "line": 239,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        7577,
                        7948
                      ],
                      "loc": {
                        "start": {
                          "line": 228,
                          "column": 4
                        },
                        "end": {
                          "line": 239,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    7508,
                    7952
                  ],
                  "loc": {
                    "start": {
                      "line": 226,
                      "column": 28
                    },
                    "end": {
                      "line": 240,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  7488,
                  7952
                ],
                "loc": {
                  "start": {
                    "line": 226,
                    "column": 8
                  },
                  "end": {
                    "line": 240,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                7482,
                7952
              ],
              "loc": {
                "start": {
                  "line": 226,
                  "column": 2
                },
                "end": {
                  "line": 240,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Defines a type of resource.\n   *\n   * @since 0.2.0\n   * @param {!string|string[]} names - Name(s) of the resource.\n   * @param {!Object} definition - The resource's definition.\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    7252,
                    7479
                  ],
                  "loc": {
                    "start": {
                      "line": 218,
                      "column": 2
                    },
                    "end": {
                      "line": 225,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Attempts to delete the resource through the adapter and removes it from\n   * the store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} id - ID of resource.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.destroy(\"product\", \"1\", () => {\n   *   console.log(\"Destroyed!\");\n   * });\n   ",
                  "range": [
                    7956,
                    8575
                  ],
                  "loc": {
                    "start": {
                      "line": 242,
                      "column": 2
                    },
                    "end": {
                      "line": 260,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "destroy",
                "range": [
                  8578,
                  8585
                ],
                "loc": {
                  "start": {
                    "line": 261,
                    "column": 2
                  },
                  "end": {
                    "line": 261,
                    "column": 9
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      8586,
                      8590
                    ],
                    "loc": {
                      "start": {
                        "line": 261,
                        "column": 10
                      },
                      "end": {
                        "line": 261,
                        "column": 14
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "id",
                    "range": [
                      8592,
                      8594
                    ],
                    "loc": {
                      "start": {
                        "line": 261,
                        "column": 16
                      },
                      "end": {
                        "line": 261,
                        "column": 18
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "success",
                    "range": [
                      8596,
                      8603
                    ],
                    "loc": {
                      "start": {
                        "line": 261,
                        "column": 20
                      },
                      "end": {
                        "line": 261,
                        "column": 27
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "error",
                    "range": [
                      8605,
                      8610
                    ],
                    "loc": {
                      "start": {
                        "line": 261,
                        "column": 29
                      },
                      "end": {
                        "line": 261,
                        "column": 34
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "context",
                    "range": [
                      8612,
                      8619
                    ],
                    "loc": {
                      "start": {
                        "line": 261,
                        "column": 36
                      },
                      "end": {
                        "line": 261,
                        "column": 43
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            8631,
                            8635
                          ],
                          "loc": {
                            "start": {
                              "line": 262,
                              "column": 8
                            },
                            "end": {
                              "line": 262,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_adapter",
                          "range": [
                            8636,
                            8644
                          ],
                          "loc": {
                            "start": {
                              "line": 262,
                              "column": 13
                            },
                            "end": {
                              "line": 262,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          8631,
                          8644
                        ],
                        "loc": {
                          "start": {
                            "line": 262,
                            "column": 8
                          },
                          "end": {
                            "line": 262,
                            "column": 21
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      8654,
                                      8658
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_adapter",
                                    "range": [
                                      8659,
                                      8667
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "range": [
                                    8654,
                                    8667
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "destroy",
                                  "range": [
                                    8668,
                                    8675
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  8654,
                                  8675
                                ],
                                "loc": {
                                  "start": {
                                    "line": 263,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 263,
                                    "column": 27
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    8676,
                                    8680
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 32
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    8682,
                                    8686
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 38
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "id",
                                  "range": [
                                    8688,
                                    8690
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 42
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "success",
                                  "range": [
                                    8692,
                                    8699
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 51
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "error",
                                  "range": [
                                    8701,
                                    8706
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 58
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "context",
                                  "range": [
                                    8708,
                                    8715
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 67
                                    }
                                  }
                                }
                              ],
                              "range": [
                                8654,
                                8716
                              ],
                              "loc": {
                                "start": {
                                  "line": 263,
                                  "column": 6
                                },
                                "end": {
                                  "line": 263,
                                  "column": 68
                                }
                              }
                            },
                            "range": [
                              8654,
                              8717
                            ],
                            "loc": {
                              "start": {
                                "line": 263,
                                "column": 6
                              },
                              "end": {
                                "line": 263,
                                "column": 69
                              }
                            }
                          }
                        ],
                        "range": [
                          8646,
                          8723
                        ],
                        "loc": {
                          "start": {
                            "line": 262,
                            "column": 23
                          },
                          "end": {
                            "line": 264,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  8747,
                                  8752
                                ],
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 265,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
                                  "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
                                  "range": [
                                    8753,
                                    8849
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 118
                                    }
                                  }
                                }
                              ],
                              "range": [
                                8743,
                                8850
                              ],
                              "loc": {
                                "start": {
                                  "line": 265,
                                  "column": 12
                                },
                                "end": {
                                  "line": 265,
                                  "column": 119
                                }
                              }
                            },
                            "range": [
                              8737,
                              8851
                            ],
                            "loc": {
                              "start": {
                                "line": 265,
                                "column": 6
                              },
                              "end": {
                                "line": 265,
                                "column": 120
                              }
                            }
                          }
                        ],
                        "range": [
                          8729,
                          8857
                        ],
                        "loc": {
                          "start": {
                            "line": 264,
                            "column": 11
                          },
                          "end": {
                            "line": 266,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        8627,
                        8857
                      ],
                      "loc": {
                        "start": {
                          "line": 262,
                          "column": 4
                        },
                        "end": {
                          "line": 266,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    8621,
                    8861
                  ],
                  "loc": {
                    "start": {
                      "line": 261,
                      "column": 45
                    },
                    "end": {
                      "line": 267,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  8585,
                  8861
                ],
                "loc": {
                  "start": {
                    "line": 261,
                    "column": 9
                  },
                  "end": {
                    "line": 267,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                8578,
                8861
              ],
              "loc": {
                "start": {
                  "line": 261,
                  "column": 2
                },
                "end": {
                  "line": 267,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Attempts to delete the resource through the adapter and removes it from\n   * the store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} id - ID of resource.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.destroy(\"product\", \"1\", () => {\n   *   console.log(\"Destroyed!\");\n   * });\n   ",
                  "range": [
                    7956,
                    8575
                  ],
                  "loc": {
                    "start": {
                      "line": 242,
                      "column": 2
                    },
                    "end": {
                      "line": 260,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Find a resource or entire collection of resources.\n   *\n   * NOTE: If the resource hasn't been loaded via an add() or push() call it\n   * will be automatically created when find is called.\n   *\n   * @since 0.1.0\n   * @param {!string} type - Type of the resource(s) to find.\n   * @param {string} [id] - The id of the resource to find. If omitted all\n   *                        resources of the type will be returned.\n   * @return {Object|Object[]} - Either the resource or an array of resources.\n   ",
                  "range": [
                    8865,
                    9375
                  ],
                  "loc": {
                    "start": {
                      "line": 269,
                      "column": 2
                    },
                    "end": {
                      "line": 280,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "find",
                "range": [
                  9378,
                  9382
                ],
                "loc": {
                  "start": {
                    "line": 281,
                    "column": 2
                  },
                  "end": {
                    "line": 281,
                    "column": 6
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      9383,
                      9387
                    ],
                    "loc": {
                      "start": {
                        "line": 281,
                        "column": 7
                      },
                      "end": {
                        "line": 281,
                        "column": 11
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "id",
                    "range": [
                      9389,
                      9391
                    ],
                    "loc": {
                      "start": {
                        "line": 281,
                        "column": 13
                      },
                      "end": {
                        "line": 281,
                        "column": 15
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "Identifier",
                        "name": "type",
                        "range": [
                          9403,
                          9407
                        ],
                        "loc": {
                          "start": {
                            "line": 282,
                            "column": 8
                          },
                          "end": {
                            "line": 282,
                            "column": 12
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "id": {
                                  "type": "Identifier",
                                  "name": "definition",
                                  "range": [
                                    9421,
                                    9431
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 283,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 283,
                                      "column": 20
                                    }
                                  }
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "computed": true,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        9434,
                                        9438
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 283,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 283,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_types",
                                      "range": [
                                        9439,
                                        9445
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 283,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 283,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      9434,
                                      9445
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 283,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 283,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      9446,
                                      9450
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 283,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 283,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "range": [
                                    9434,
                                    9451
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 283,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 283,
                                      "column": 40
                                    }
                                  }
                                },
                                "range": [
                                  9421,
                                  9451
                                ],
                                "loc": {
                                  "start": {
                                    "line": 283,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 283,
                                    "column": 40
                                  }
                                }
                              }
                            ],
                            "kind": "let",
                            "range": [
                              9417,
                              9452
                            ],
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 6
                              },
                              "end": {
                                "line": 283,
                                "column": 41
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "Identifier",
                              "name": "definition",
                              "range": [
                                9463,
                                9473
                              ],
                              "loc": {
                                "start": {
                                  "line": 284,
                                  "column": 10
                                },
                                "end": {
                                  "line": 284,
                                  "column": 20
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "UnaryExpression",
                                    "operator": "!",
                                    "argument": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            9490,
                                            9494
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 285,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 285,
                                              "column": 17
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_data",
                                          "range": [
                                            9495,
                                            9500
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 285,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 285,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "range": [
                                          9490,
                                          9500
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 285,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 285,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "type",
                                        "range": [
                                          9501,
                                          9505
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 285,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 285,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "range": [
                                        9490,
                                        9506
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 285,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 285,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "prefix": true,
                                    "range": [
                                      9489,
                                      9506
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 285,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 285,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "VariableDeclaration",
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "collection",
                                              "range": [
                                                9524,
                                                9534
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 286,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 286,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "ObjectExpression",
                                              "properties": [],
                                              "range": [
                                                9537,
                                                9539
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 286,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 286,
                                                  "column": 29
                                                }
                                              }
                                            },
                                            "range": [
                                              9524,
                                              9539
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 286,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 286,
                                                "column": 29
                                              }
                                            }
                                          }
                                        ],
                                        "kind": "let",
                                        "range": [
                                          9520,
                                          9540
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 286,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 286,
                                            "column": 30
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "definition",
                                                "range": [
                                                  9551,
                                                  9561
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 287,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 287,
                                                    "column": 20
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_names",
                                                "range": [
                                                  9562,
                                                  9568
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 287,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 287,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "range": [
                                                9551,
                                                9568
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 287,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 287,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "forEach",
                                              "range": [
                                                9569,
                                                9576
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 287,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 287,
                                                  "column": 35
                                                }
                                              }
                                            },
                                            "range": [
                                              9551,
                                              9576
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 287,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 287,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "id": null,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "t",
                                                  "range": [
                                                    9577,
                                                    9578
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 287,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 287,
                                                      "column": 37
                                                    }
                                                  }
                                                }
                                              ],
                                              "body": {
                                                "type": "AssignmentExpression",
                                                "operator": "=",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        9582,
                                                        9586
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 287,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 287,
                                                          "column": 45
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_data",
                                                      "range": [
                                                        9587,
                                                        9592
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 287,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 287,
                                                          "column": 51
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      9582,
                                                      9592
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 287,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 287,
                                                        "column": 51
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "t",
                                                    "range": [
                                                      9593,
                                                      9594
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 287,
                                                        "column": 52
                                                      },
                                                      "end": {
                                                        "line": 287,
                                                        "column": 53
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    9582,
                                                    9595
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 287,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 287,
                                                      "column": 54
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Identifier",
                                                  "name": "collection",
                                                  "range": [
                                                    9598,
                                                    9608
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 287,
                                                      "column": 57
                                                    },
                                                    "end": {
                                                      "line": 287,
                                                      "column": 67
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  9582,
                                                  9608
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 287,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 287,
                                                    "column": 67
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": true,
                                              "range": [
                                                9577,
                                                9608
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 287,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 287,
                                                  "column": 67
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            9551,
                                            9609
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 287,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 287,
                                              "column": 68
                                            }
                                          }
                                        },
                                        "range": [
                                          9551,
                                          9610
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 287,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 287,
                                            "column": 69
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      9508,
                                      9620
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 285,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 288,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    9485,
                                    9620
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 285,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 288,
                                      "column": 9
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "Identifier",
                                    "name": "id",
                                    "range": [
                                      9633,
                                      9635
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 289,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 289,
                                        "column": 14
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "test": {
                                          "type": "UnaryExpression",
                                          "operator": "!",
                                          "argument": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    9654,
                                                    9658
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 290,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 290,
                                                      "column": 19
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "_data",
                                                  "range": [
                                                    9659,
                                                    9664
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 290,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 290,
                                                      "column": 25
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  9654,
                                                  9664
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 290,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 290,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "type",
                                                "range": [
                                                  9665,
                                                  9669
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 290,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 290,
                                                    "column": 30
                                                  }
                                                }
                                              },
                                              "range": [
                                                9654,
                                                9670
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 290,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 290,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "id",
                                              "range": [
                                                9671,
                                                9673
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 290,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 290,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "range": [
                                              9654,
                                              9674
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 290,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 290,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "prefix": true,
                                          "range": [
                                            9653,
                                            9674
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 290,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 290,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "operator": "=",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "range": [
                                                          9690,
                                                          9694
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 291,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 291,
                                                            "column": 16
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "_data",
                                                        "range": [
                                                          9695,
                                                          9700
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 291,
                                                            "column": 17
                                                          },
                                                          "end": {
                                                            "line": 291,
                                                            "column": 22
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        9690,
                                                        9700
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 291,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 291,
                                                          "column": 22
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "type",
                                                      "range": [
                                                        9701,
                                                        9705
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 291,
                                                          "column": 23
                                                        },
                                                        "end": {
                                                          "line": 291,
                                                          "column": 27
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      9690,
                                                      9706
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 291,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 291,
                                                        "column": 28
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "id",
                                                    "range": [
                                                      9707,
                                                      9709
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 291,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 291,
                                                        "column": 31
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    9690,
                                                    9710
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 291,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 291,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "ObjectExpression",
                                                  "properties": [
                                                    {
                                                      "type": "Property",
                                                      "key": {
                                                        "type": "Identifier",
                                                        "name": "_dependents",
                                                        "range": [
                                                          9729,
                                                          9740
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 292,
                                                            "column": 14
                                                          },
                                                          "end": {
                                                            "line": 292,
                                                            "column": 25
                                                          }
                                                        }
                                                      },
                                                      "value": {
                                                        "type": "ArrayExpression",
                                                        "elements": [],
                                                        "range": [
                                                          9742,
                                                          9744
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 292,
                                                            "column": 27
                                                          },
                                                          "end": {
                                                            "line": 292,
                                                            "column": 29
                                                          }
                                                        }
                                                      },
                                                      "kind": "init",
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "range": [
                                                        9729,
                                                        9744
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 292,
                                                          "column": 14
                                                        },
                                                        "end": {
                                                          "line": 292,
                                                          "column": 29
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Property",
                                                      "key": {
                                                        "type": "Identifier",
                                                        "name": "type",
                                                        "range": [
                                                          9760,
                                                          9764
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 293,
                                                            "column": 14
                                                          },
                                                          "end": {
                                                            "line": 293,
                                                            "column": 18
                                                          }
                                                        }
                                                      },
                                                      "value": {
                                                        "type": "Identifier",
                                                        "name": "type",
                                                        "range": [
                                                          9766,
                                                          9770
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 293,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 293,
                                                            "column": 24
                                                          }
                                                        }
                                                      },
                                                      "kind": "init",
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "range": [
                                                        9760,
                                                        9770
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 293,
                                                          "column": 14
                                                        },
                                                        "end": {
                                                          "line": 293,
                                                          "column": 24
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Property",
                                                      "key": {
                                                        "type": "Identifier",
                                                        "name": "id",
                                                        "range": [
                                                          9786,
                                                          9788
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 294,
                                                            "column": 14
                                                          },
                                                          "end": {
                                                            "line": 294,
                                                            "column": 16
                                                          }
                                                        }
                                                      },
                                                      "value": {
                                                        "type": "Identifier",
                                                        "name": "id",
                                                        "range": [
                                                          9790,
                                                          9792
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 294,
                                                            "column": 18
                                                          },
                                                          "end": {
                                                            "line": 294,
                                                            "column": 20
                                                          }
                                                        }
                                                      },
                                                      "kind": "init",
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "range": [
                                                        9786,
                                                        9792
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 294,
                                                          "column": 14
                                                        },
                                                        "end": {
                                                          "line": 294,
                                                          "column": 20
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    9713,
                                                    9806
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 291,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 295,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  9690,
                                                  9806
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 291,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 295,
                                                    "column": 13
                                                  }
                                                }
                                              },
                                              "range": [
                                                9690,
                                                9807
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 291,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 295,
                                                  "column": 14
                                                }
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "Object",
                                                        "range": [
                                                          9820,
                                                          9826
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 296,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 296,
                                                            "column": 18
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "keys",
                                                        "range": [
                                                          9827,
                                                          9831
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 296,
                                                            "column": 19
                                                          },
                                                          "end": {
                                                            "line": 296,
                                                            "column": 23
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        9820,
                                                        9831
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 296,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 296,
                                                          "column": 23
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "definition",
                                                        "range": [
                                                          9832,
                                                          9842
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 296,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 296,
                                                            "column": 34
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      9820,
                                                      9843
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 296,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 296,
                                                        "column": 35
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "forEach",
                                                    "range": [
                                                      9844,
                                                      9851
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 296,
                                                        "column": 36
                                                      },
                                                      "end": {
                                                        "line": 296,
                                                        "column": 43
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    9820,
                                                    9851
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 296,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 296,
                                                      "column": 43
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "ArrowFunctionExpression",
                                                    "id": null,
                                                    "params": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "key",
                                                        "range": [
                                                          9852,
                                                          9855
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 296,
                                                            "column": 44
                                                          },
                                                          "end": {
                                                            "line": 296,
                                                            "column": 47
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "body": {
                                                      "type": "BlockStatement",
                                                      "body": [
                                                        {
                                                          "type": "IfStatement",
                                                          "test": {
                                                            "type": "BinaryExpression",
                                                            "operator": "!==",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "computed": true,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "key",
                                                                "range": [
                                                                  9879,
                                                                  9882
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 297,
                                                                    "column": 18
                                                                  },
                                                                  "end": {
                                                                    "line": 297,
                                                                    "column": 21
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Literal",
                                                                "value": 0,
                                                                "raw": "0",
                                                                "range": [
                                                                  9883,
                                                                  9884
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 297,
                                                                    "column": 22
                                                                  },
                                                                  "end": {
                                                                    "line": 297,
                                                                    "column": 23
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                9879,
                                                                9885
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 297,
                                                                  "column": 18
                                                                },
                                                                "end": {
                                                                  "line": 297,
                                                                  "column": 24
                                                                }
                                                              }
                                                            },
                                                            "right": {
                                                              "type": "Literal",
                                                              "value": "_",
                                                              "raw": "\"_\"",
                                                              "range": [
                                                                9890,
                                                                9893
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 297,
                                                                  "column": 29
                                                                },
                                                                "end": {
                                                                  "line": 297,
                                                                  "column": 32
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              9879,
                                                              9893
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 297,
                                                                "column": 18
                                                              },
                                                              "end": {
                                                                "line": 297,
                                                                "column": 32
                                                              }
                                                            }
                                                          },
                                                          "consequent": {
                                                            "type": "BlockStatement",
                                                            "body": [
                                                              {
                                                                "type": "ExpressionStatement",
                                                                "expression": {
                                                                  "type": "AssignmentExpression",
                                                                  "operator": "=",
                                                                  "left": {
                                                                    "type": "MemberExpression",
                                                                    "computed": true,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "MemberExpression",
                                                                        "computed": true,
                                                                        "object": {
                                                                          "type": "MemberExpression",
                                                                          "computed": false,
                                                                          "object": {
                                                                            "type": "ThisExpression",
                                                                            "range": [
                                                                              9913,
                                                                              9917
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 298,
                                                                                "column": 16
                                                                              },
                                                                              "end": {
                                                                                "line": 298,
                                                                                "column": 20
                                                                              }
                                                                            }
                                                                          },
                                                                          "property": {
                                                                            "type": "Identifier",
                                                                            "name": "_data",
                                                                            "range": [
                                                                              9918,
                                                                              9923
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 298,
                                                                                "column": 21
                                                                              },
                                                                              "end": {
                                                                                "line": 298,
                                                                                "column": 26
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            9913,
                                                                            9923
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 298,
                                                                              "column": 16
                                                                            },
                                                                            "end": {
                                                                              "line": 298,
                                                                              "column": 26
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "type",
                                                                          "range": [
                                                                            9924,
                                                                            9928
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 298,
                                                                              "column": 27
                                                                            },
                                                                            "end": {
                                                                              "line": 298,
                                                                              "column": 31
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          9913,
                                                                          9929
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 298,
                                                                            "column": 16
                                                                          },
                                                                          "end": {
                                                                            "line": 298,
                                                                            "column": 32
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "id",
                                                                        "range": [
                                                                          9930,
                                                                          9932
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 298,
                                                                            "column": 33
                                                                          },
                                                                          "end": {
                                                                            "line": 298,
                                                                            "column": 35
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        9913,
                                                                        9933
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 298,
                                                                          "column": 16
                                                                        },
                                                                        "end": {
                                                                          "line": 298,
                                                                          "column": 36
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "key",
                                                                      "range": [
                                                                        9934,
                                                                        9937
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 298,
                                                                          "column": 37
                                                                        },
                                                                        "end": {
                                                                          "line": 298,
                                                                          "column": 40
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      9913,
                                                                      9938
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 298,
                                                                        "column": 16
                                                                      },
                                                                      "end": {
                                                                        "line": 298,
                                                                        "column": 41
                                                                      }
                                                                    }
                                                                  },
                                                                  "right": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "name": "definition",
                                                                        "range": [
                                                                          9941,
                                                                          9951
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 298,
                                                                            "column": 44
                                                                          },
                                                                          "end": {
                                                                            "line": 298,
                                                                            "column": 54
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "key",
                                                                        "range": [
                                                                          9952,
                                                                          9955
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 298,
                                                                            "column": 55
                                                                          },
                                                                          "end": {
                                                                            "line": 298,
                                                                            "column": 58
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        9941,
                                                                        9956
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 298,
                                                                          "column": 44
                                                                        },
                                                                        "end": {
                                                                          "line": 298,
                                                                          "column": 59
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "default",
                                                                      "range": [
                                                                        9957,
                                                                        9964
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 298,
                                                                          "column": 60
                                                                        },
                                                                        "end": {
                                                                          "line": 298,
                                                                          "column": 67
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      9941,
                                                                      9964
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 298,
                                                                        "column": 44
                                                                      },
                                                                      "end": {
                                                                        "line": 298,
                                                                        "column": 67
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    9913,
                                                                    9964
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 298,
                                                                      "column": 16
                                                                    },
                                                                    "end": {
                                                                      "line": 298,
                                                                      "column": 67
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  9913,
                                                                  9965
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 298,
                                                                    "column": 16
                                                                  },
                                                                  "end": {
                                                                    "line": 298,
                                                                    "column": 68
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              9895,
                                                              9981
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 297,
                                                                "column": 34
                                                              },
                                                              "end": {
                                                                "line": 299,
                                                                "column": 15
                                                              }
                                                            }
                                                          },
                                                          "alternate": null,
                                                          "range": [
                                                            9875,
                                                            9981
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 297,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 299,
                                                              "column": 15
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        9859,
                                                        9995
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 296,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 300,
                                                          "column": 13
                                                        }
                                                      }
                                                    },
                                                    "generator": false,
                                                    "expression": false,
                                                    "range": [
                                                      9852,
                                                      9995
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 296,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 300,
                                                        "column": 13
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  9820,
                                                  9996
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 296,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 300,
                                                    "column": 14
                                                  }
                                                }
                                              },
                                              "range": [
                                                9820,
                                                9997
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 296,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 300,
                                                  "column": 15
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            9676,
                                            10009
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 290,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 301,
                                              "column": 11
                                            }
                                          }
                                        },
                                        "alternate": null,
                                        "range": [
                                          9649,
                                          10009
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 290,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 301,
                                            "column": 11
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "argument": {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  10027,
                                                  10031
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 302,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 302,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_data",
                                                "range": [
                                                  10032,
                                                  10037
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 302,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 302,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "range": [
                                                10027,
                                                10037
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 302,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 302,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "type",
                                              "range": [
                                                10038,
                                                10042
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 302,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 302,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "range": [
                                              10027,
                                              10043
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 302,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 302,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "id",
                                            "range": [
                                              10044,
                                              10046
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 302,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 302,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "range": [
                                            10027,
                                            10047
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 302,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 302,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          10020,
                                          10048
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 302,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 302,
                                            "column": 38
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      9637,
                                      10058
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 289,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ReturnStatement",
                                        "argument": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "Object",
                                                  "range": [
                                                    10083,
                                                    10089
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 304,
                                                      "column": 17
                                                    },
                                                    "end": {
                                                      "line": 304,
                                                      "column": 23
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "keys",
                                                  "range": [
                                                    10090,
                                                    10094
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 304,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 304,
                                                      "column": 28
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  10083,
                                                  10094
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 304,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 304,
                                                    "column": 28
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        10095,
                                                        10099
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 304,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 304,
                                                          "column": 33
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_data",
                                                      "range": [
                                                        10100,
                                                        10105
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 304,
                                                          "column": 34
                                                        },
                                                        "end": {
                                                          "line": 304,
                                                          "column": 39
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      10095,
                                                      10105
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 304,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 304,
                                                        "column": 39
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "type",
                                                    "range": [
                                                      10106,
                                                      10110
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 304,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 304,
                                                        "column": 44
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    10095,
                                                    10111
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 304,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 304,
                                                      "column": 45
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                10083,
                                                10112
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 304,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 304,
                                                  "column": 46
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "map",
                                              "range": [
                                                10113,
                                                10116
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 304,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 304,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            "range": [
                                              10083,
                                              10116
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 304,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 304,
                                                "column": 50
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "id": null,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "x",
                                                  "range": [
                                                    10117,
                                                    10118
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 304,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 304,
                                                      "column": 52
                                                    }
                                                  }
                                                }
                                              ],
                                              "body": {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        10122,
                                                        10126
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 304,
                                                          "column": 56
                                                        },
                                                        "end": {
                                                          "line": 304,
                                                          "column": 60
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_data",
                                                      "range": [
                                                        10127,
                                                        10132
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 304,
                                                          "column": 61
                                                        },
                                                        "end": {
                                                          "line": 304,
                                                          "column": 66
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      10122,
                                                      10132
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 304,
                                                        "column": 56
                                                      },
                                                      "end": {
                                                        "line": 304,
                                                        "column": 66
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "type",
                                                    "range": [
                                                      10133,
                                                      10137
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 304,
                                                        "column": 67
                                                      },
                                                      "end": {
                                                        "line": 304,
                                                        "column": 71
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    10122,
                                                    10138
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 304,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 304,
                                                      "column": 72
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "x",
                                                  "range": [
                                                    10139,
                                                    10140
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 304,
                                                      "column": 73
                                                    },
                                                    "end": {
                                                      "line": 304,
                                                      "column": 74
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  10122,
                                                  10141
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 304,
                                                    "column": 56
                                                  },
                                                  "end": {
                                                    "line": 304,
                                                    "column": 75
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": true,
                                              "range": [
                                                10117,
                                                10141
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 304,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 304,
                                                  "column": 75
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            10083,
                                            10142
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 304,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 304,
                                              "column": 76
                                            }
                                          }
                                        },
                                        "range": [
                                          10076,
                                          10143
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 304,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 304,
                                            "column": 77
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      10064,
                                      10153
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 303,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 305,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    9629,
                                    10153
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 289,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 305,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                9475,
                                10161
                              ],
                              "loc": {
                                "start": {
                                  "line": 284,
                                  "column": 22
                                },
                                "end": {
                                  "line": 306,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ThrowStatement",
                                  "argument": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "TypeError",
                                      "range": [
                                        10187,
                                        10196
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 307,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 307,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "TemplateLiteral",
                                        "quasis": [
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "Unknown type '",
                                              "cooked": "Unknown type '"
                                            },
                                            "tail": false,
                                            "range": [
                                              10197,
                                              10214
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 307,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 307,
                                                "column": 45
                                              }
                                            }
                                          },
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "'",
                                              "cooked": "'"
                                            },
                                            "tail": true,
                                            "range": [
                                              10218,
                                              10221
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 307,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 307,
                                                "column": 52
                                              }
                                            }
                                          }
                                        ],
                                        "expressions": [
                                          {
                                            "type": "Identifier",
                                            "name": "type",
                                            "range": [
                                              10214,
                                              10218
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 307,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 307,
                                                "column": 49
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          10197,
                                          10221
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 307,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 307,
                                            "column": 52
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      10183,
                                      10222
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 307,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 307,
                                        "column": 53
                                      }
                                    }
                                  },
                                  "range": [
                                    10177,
                                    10223
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 54
                                    }
                                  }
                                }
                              ],
                              "range": [
                                10167,
                                10231
                              ],
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 13
                                },
                                "end": {
                                  "line": 308,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              9459,
                              10231
                            ],
                            "loc": {
                              "start": {
                                "line": 284,
                                "column": 6
                              },
                              "end": {
                                "line": 308,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          9409,
                          10237
                        ],
                        "loc": {
                          "start": {
                            "line": 282,
                            "column": 14
                          },
                          "end": {
                            "line": 309,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "TypeError",
                                "range": [
                                  10261,
                                  10270
                                ],
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 25
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "TemplateLiteral",
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "You must provide a type",
                                        "cooked": "You must provide a type"
                                      },
                                      "tail": true,
                                      "range": [
                                        10271,
                                        10296
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 310,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 310,
                                          "column": 51
                                        }
                                      }
                                    }
                                  ],
                                  "expressions": [],
                                  "range": [
                                    10271,
                                    10296
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 51
                                    }
                                  }
                                }
                              ],
                              "range": [
                                10257,
                                10297
                              ],
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 12
                                },
                                "end": {
                                  "line": 310,
                                  "column": 52
                                }
                              }
                            },
                            "range": [
                              10251,
                              10298
                            ],
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 6
                              },
                              "end": {
                                "line": 310,
                                "column": 53
                              }
                            }
                          }
                        ],
                        "range": [
                          10243,
                          10304
                        ],
                        "loc": {
                          "start": {
                            "line": 309,
                            "column": 11
                          },
                          "end": {
                            "line": 311,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        9399,
                        10304
                      ],
                      "loc": {
                        "start": {
                          "line": 282,
                          "column": 4
                        },
                        "end": {
                          "line": 311,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    9393,
                    10308
                  ],
                  "loc": {
                    "start": {
                      "line": 281,
                      "column": 17
                    },
                    "end": {
                      "line": 312,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  9382,
                  10308
                ],
                "loc": {
                  "start": {
                    "line": 281,
                    "column": 6
                  },
                  "end": {
                    "line": 312,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                9378,
                10308
              ],
              "loc": {
                "start": {
                  "line": 281,
                  "column": 2
                },
                "end": {
                  "line": 312,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Find a resource or entire collection of resources.\n   *\n   * NOTE: If the resource hasn't been loaded via an add() or push() call it\n   * will be automatically created when find is called.\n   *\n   * @since 0.1.0\n   * @param {!string} type - Type of the resource(s) to find.\n   * @param {string} [id] - The id of the resource to find. If omitted all\n   *                        resources of the type will be returned.\n   * @return {Object|Object[]} - Either the resource or an array of resources.\n   ",
                  "range": [
                    8865,
                    9375
                  ],
                  "loc": {
                    "start": {
                      "line": 269,
                      "column": 2
                    },
                    "end": {
                      "line": 280,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Attempts to load the resource(s) through the adapter and adds it/them to\n   * the store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} [id] - ID of resource.\n   * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.load(\"product\", \"1\", (product) => {\n   *   console.log(product.title);\n   * });\n   ",
                  "range": [
                    10312,
                    11058
                  ],
                  "loc": {
                    "start": {
                      "line": 314,
                      "column": 2
                    },
                    "end": {
                      "line": 333,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "load",
                "range": [
                  11061,
                  11065
                ],
                "loc": {
                  "start": {
                    "line": 334,
                    "column": 2
                  },
                  "end": {
                    "line": 334,
                    "column": 6
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      11066,
                      11070
                    ],
                    "loc": {
                      "start": {
                        "line": 334,
                        "column": 7
                      },
                      "end": {
                        "line": 334,
                        "column": 11
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "id",
                    "range": [
                      11072,
                      11074
                    ],
                    "loc": {
                      "start": {
                        "line": 334,
                        "column": 13
                      },
                      "end": {
                        "line": 334,
                        "column": 15
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "options",
                    "range": [
                      11076,
                      11083
                    ],
                    "loc": {
                      "start": {
                        "line": 334,
                        "column": 17
                      },
                      "end": {
                        "line": 334,
                        "column": 24
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "success",
                    "range": [
                      11085,
                      11092
                    ],
                    "loc": {
                      "start": {
                        "line": 334,
                        "column": 26
                      },
                      "end": {
                        "line": 334,
                        "column": 33
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "error",
                    "range": [
                      11094,
                      11099
                    ],
                    "loc": {
                      "start": {
                        "line": 334,
                        "column": 35
                      },
                      "end": {
                        "line": 334,
                        "column": 40
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "context",
                    "range": [
                      11101,
                      11108
                    ],
                    "loc": {
                      "start": {
                        "line": 334,
                        "column": 42
                      },
                      "end": {
                        "line": 334,
                        "column": 49
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            11120,
                            11124
                          ],
                          "loc": {
                            "start": {
                              "line": 335,
                              "column": 8
                            },
                            "end": {
                              "line": 335,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_adapter",
                          "range": [
                            11125,
                            11133
                          ],
                          "loc": {
                            "start": {
                              "line": 335,
                              "column": 13
                            },
                            "end": {
                              "line": 335,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          11120,
                          11133
                        ],
                        "loc": {
                          "start": {
                            "line": 335,
                            "column": 8
                          },
                          "end": {
                            "line": 335,
                            "column": 21
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      11143,
                                      11147
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 336,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 336,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_adapter",
                                    "range": [
                                      11148,
                                      11156
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 336,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 336,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "range": [
                                    11143,
                                    11156
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "load",
                                  "range": [
                                    11157,
                                    11161
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 24
                                    }
                                  }
                                },
                                "range": [
                                  11143,
                                  11161
                                ],
                                "loc": {
                                  "start": {
                                    "line": 336,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 336,
                                    "column": 24
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    11162,
                                    11166
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 29
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    11168,
                                    11172
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 35
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "id",
                                  "range": [
                                    11174,
                                    11176
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 39
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "options",
                                  "range": [
                                    11178,
                                    11185
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 48
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "success",
                                  "range": [
                                    11187,
                                    11194
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 57
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "error",
                                  "range": [
                                    11196,
                                    11201
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 64
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "context",
                                  "range": [
                                    11203,
                                    11210
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 336,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 336,
                                      "column": 73
                                    }
                                  }
                                }
                              ],
                              "range": [
                                11143,
                                11211
                              ],
                              "loc": {
                                "start": {
                                  "line": 336,
                                  "column": 6
                                },
                                "end": {
                                  "line": 336,
                                  "column": 74
                                }
                              }
                            },
                            "range": [
                              11143,
                              11212
                            ],
                            "loc": {
                              "start": {
                                "line": 336,
                                "column": 6
                              },
                              "end": {
                                "line": 336,
                                "column": 75
                              }
                            }
                          }
                        ],
                        "range": [
                          11135,
                          11218
                        ],
                        "loc": {
                          "start": {
                            "line": 335,
                            "column": 23
                          },
                          "end": {
                            "line": 337,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  11242,
                                  11247
                                ],
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
                                  "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
                                  "range": [
                                    11248,
                                    11344
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 118
                                    }
                                  }
                                }
                              ],
                              "range": [
                                11238,
                                11345
                              ],
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 12
                                },
                                "end": {
                                  "line": 338,
                                  "column": 119
                                }
                              }
                            },
                            "range": [
                              11232,
                              11346
                            ],
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 6
                              },
                              "end": {
                                "line": 338,
                                "column": 120
                              }
                            }
                          }
                        ],
                        "range": [
                          11224,
                          11352
                        ],
                        "loc": {
                          "start": {
                            "line": 337,
                            "column": 11
                          },
                          "end": {
                            "line": 339,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        11116,
                        11352
                      ],
                      "loc": {
                        "start": {
                          "line": 335,
                          "column": 4
                        },
                        "end": {
                          "line": 339,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    11110,
                    11356
                  ],
                  "loc": {
                    "start": {
                      "line": 334,
                      "column": 51
                    },
                    "end": {
                      "line": 340,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  11065,
                  11356
                ],
                "loc": {
                  "start": {
                    "line": 334,
                    "column": 6
                  },
                  "end": {
                    "line": 340,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                11061,
                11356
              ],
              "loc": {
                "start": {
                  "line": 334,
                  "column": 2
                },
                "end": {
                  "line": 340,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Attempts to load the resource(s) through the adapter and adds it/them to\n   * the store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} [id] - ID of resource.\n   * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.load(\"product\", \"1\", (product) => {\n   *   console.log(product.title);\n   * });\n   ",
                  "range": [
                    10312,
                    11058
                  ],
                  "loc": {
                    "start": {
                      "line": 314,
                      "column": 2
                    },
                    "end": {
                      "line": 333,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Unregister an event listener that was registered with on().\n   *\n   * @since 0.4.0\n   * @param {string} event - Name of the event.\n   * @param {string} type - Name of resource to originally passed to on().\n   * @param {string} [id] - ID of the resource to originally passed to on().\n   * @param {function} callback - Function originally passed to on().\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    11360,
                    11763
                  ],
                  "loc": {
                    "start": {
                      "line": 342,
                      "column": 2
                    },
                    "end": {
                      "line": 351,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "off",
                "range": [
                  11766,
                  11769
                ],
                "loc": {
                  "start": {
                    "line": 352,
                    "column": 2
                  },
                  "end": {
                    "line": 352,
                    "column": 5
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "event",
                    "range": [
                      11770,
                      11775
                    ],
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 6
                      },
                      "end": {
                        "line": 352,
                        "column": 11
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      11777,
                      11781
                    ],
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 13
                      },
                      "end": {
                        "line": 352,
                        "column": 17
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "id",
                    "range": [
                      11783,
                      11785
                    ],
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 19
                      },
                      "end": {
                        "line": 352,
                        "column": 21
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "callback",
                    "range": [
                      11787,
                      11795
                    ],
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 23
                      },
                      "end": {
                        "line": 352,
                        "column": 31
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "MemberExpression",
                          "computed": true,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                11807,
                                11811
                              ],
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 8
                                },
                                "end": {
                                  "line": 353,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_resourceListeners",
                              "range": [
                                11812,
                                11830
                              ],
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 13
                                },
                                "end": {
                                  "line": 353,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              11807,
                              11830
                            ],
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 8
                              },
                              "end": {
                                "line": 353,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "event",
                            "range": [
                              11831,
                              11836
                            ],
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 32
                              },
                              "end": {
                                "line": 353,
                                "column": 37
                              }
                            }
                          },
                          "range": [
                            11807,
                            11837
                          ],
                          "loc": {
                            "start": {
                              "line": 353,
                              "column": 8
                            },
                            "end": {
                              "line": 353,
                              "column": 38
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": true,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                11841,
                                11845
                              ],
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 42
                                },
                                "end": {
                                  "line": 353,
                                  "column": 46
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_collectionListeners",
                              "range": [
                                11846,
                                11866
                              ],
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 47
                                },
                                "end": {
                                  "line": 353,
                                  "column": 67
                                }
                              }
                            },
                            "range": [
                              11841,
                              11866
                            ],
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 42
                              },
                              "end": {
                                "line": 353,
                                "column": 67
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "event",
                            "range": [
                              11867,
                              11872
                            ],
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 68
                              },
                              "end": {
                                "line": 353,
                                "column": 73
                              }
                            }
                          },
                          "range": [
                            11841,
                            11873
                          ],
                          "loc": {
                            "start": {
                              "line": 353,
                              "column": 42
                            },
                            "end": {
                              "line": 353,
                              "column": 74
                            }
                          }
                        },
                        "range": [
                          11807,
                          11873
                        ],
                        "loc": {
                          "start": {
                            "line": 353,
                            "column": 8
                          },
                          "end": {
                            "line": 353,
                            "column": 74
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "MemberExpression",
                              "computed": true,
                              "object": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    11887,
                                    11891
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "_types",
                                  "range": [
                                    11892,
                                    11898
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  11887,
                                  11898
                                ],
                                "loc": {
                                  "start": {
                                    "line": 354,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 21
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  11899,
                                  11903
                                ],
                                "loc": {
                                  "start": {
                                    "line": 354,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                11887,
                                11904
                              ],
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 10
                                },
                                "end": {
                                  "line": 354,
                                  "column": 27
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "LogicalExpression",
                                    "operator": "&&",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "id",
                                      "range": [
                                        11920,
                                        11922
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 355,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 355,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "operator": "===",
                                      "left": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ObjectExpression",
                                              "properties": [],
                                              "range": [
                                                11927,
                                                11929
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 355,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 355,
                                                  "column": 21
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "toString",
                                              "range": [
                                                11931,
                                                11939
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 355,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 355,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "range": [
                                              11926,
                                              11939
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 355,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 355,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "call",
                                            "range": [
                                              11940,
                                              11944
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 355,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 355,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "range": [
                                            11926,
                                            11944
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 355,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 355,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "id",
                                            "range": [
                                              11945,
                                              11947
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 355,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 355,
                                                "column": 39
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          11926,
                                          11948
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 355,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 355,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": "[object Function]",
                                        "raw": "'[object Function]'",
                                        "range": [
                                          11953,
                                          11972
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 355,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 355,
                                            "column": 64
                                          }
                                        }
                                      },
                                      "range": [
                                        11926,
                                        11972
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 355,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 355,
                                          "column": 64
                                        }
                                      }
                                    },
                                    "range": [
                                      11920,
                                      11972
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 64
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  11986,
                                                  11990
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 356,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 356,
                                                    "column": 14
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "off",
                                                "range": [
                                                  11991,
                                                  11994
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 356,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 356,
                                                    "column": 18
                                                  }
                                                }
                                              },
                                              "range": [
                                                11986,
                                                11994
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 356,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 356,
                                                  "column": 18
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "call",
                                              "range": [
                                                11995,
                                                11999
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 356,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 356,
                                                  "column": 23
                                                }
                                              }
                                            },
                                            "range": [
                                              11986,
                                              11999
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 356,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 356,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ThisExpression",
                                              "range": [
                                                12000,
                                                12004
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 356,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 356,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "event",
                                              "range": [
                                                12006,
                                                12011
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 356,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 356,
                                                  "column": 35
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "type",
                                              "range": [
                                                12013,
                                                12017
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 356,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 356,
                                                  "column": 41
                                                }
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "value": null,
                                              "raw": "null",
                                              "range": [
                                                12019,
                                                12023
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 356,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 356,
                                                  "column": 47
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "id",
                                              "range": [
                                                12025,
                                                12027
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 356,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 356,
                                                  "column": 51
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "callback",
                                              "range": [
                                                12029,
                                                12037
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 356,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 356,
                                                  "column": 61
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            11986,
                                            12038
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 356,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 356,
                                              "column": 62
                                            }
                                          }
                                        },
                                        "range": [
                                          11986,
                                          12039
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 356,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 356,
                                            "column": 63
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      11974,
                                      12049
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 357,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      12187,
                                                      12191
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 359,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 359,
                                                        "column": 14
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "_types",
                                                    "range": [
                                                      12192,
                                                      12198
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 359,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 359,
                                                        "column": 21
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    12187,
                                                    12198
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 359,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 359,
                                                      "column": 21
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "type",
                                                  "range": [
                                                    12199,
                                                    12203
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 359,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 359,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  12187,
                                                  12204
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 359,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 359,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_names",
                                                "range": [
                                                  12205,
                                                  12211
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 359,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 359,
                                                    "column": 34
                                                  }
                                                }
                                              },
                                              "range": [
                                                12187,
                                                12211
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 359,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 359,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "forEach",
                                              "range": [
                                                12212,
                                                12219
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 359,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 359,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            "range": [
                                              12187,
                                              12219
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 359,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 359,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "id": null,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "type",
                                                  "range": [
                                                    12220,
                                                    12224
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 359,
                                                      "column": 43
                                                    },
                                                    "end": {
                                                      "line": 359,
                                                      "column": 47
                                                    }
                                                  }
                                                }
                                              ],
                                              "body": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "IfStatement",
                                                    "test": {
                                                      "type": "Identifier",
                                                      "name": "id",
                                                      "range": [
                                                        12246,
                                                        12248
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 360,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 360,
                                                          "column": 18
                                                        }
                                                      }
                                                    },
                                                    "consequent": {
                                                      "type": "BlockStatement",
                                                      "body": [
                                                        {
                                                          "type": "IfStatement",
                                                          "test": {
                                                            "type": "LogicalExpression",
                                                            "operator": "&&",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "computed": true,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "ThisExpression",
                                                                    "range": [
                                                                      12270,
                                                                      12274
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 361,
                                                                        "column": 18
                                                                      },
                                                                      "end": {
                                                                        "line": 361,
                                                                        "column": 22
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "_resourceListeners",
                                                                    "range": [
                                                                      12275,
                                                                      12293
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 361,
                                                                        "column": 23
                                                                      },
                                                                      "end": {
                                                                        "line": 361,
                                                                        "column": 41
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    12270,
                                                                    12293
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 361,
                                                                      "column": 18
                                                                    },
                                                                    "end": {
                                                                      "line": 361,
                                                                      "column": 41
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "event",
                                                                  "range": [
                                                                    12294,
                                                                    12299
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 361,
                                                                      "column": 42
                                                                    },
                                                                    "end": {
                                                                      "line": 361,
                                                                      "column": 47
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  12270,
                                                                  12300
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 361,
                                                                    "column": 18
                                                                  },
                                                                  "end": {
                                                                    "line": 361,
                                                                    "column": 48
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "type",
                                                                "range": [
                                                                  12301,
                                                                  12305
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 361,
                                                                    "column": 49
                                                                  },
                                                                  "end": {
                                                                    "line": 361,
                                                                    "column": 53
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                12270,
                                                                12306
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 361,
                                                                  "column": 18
                                                                },
                                                                "end": {
                                                                  "line": 361,
                                                                  "column": 54
                                                                }
                                                              }
                                                            },
                                                            "right": {
                                                              "type": "MemberExpression",
                                                              "computed": true,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "ThisExpression",
                                                                      "range": [
                                                                        12310,
                                                                        12314
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 361,
                                                                          "column": 58
                                                                        },
                                                                        "end": {
                                                                          "line": 361,
                                                                          "column": 62
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "_resourceListeners",
                                                                      "range": [
                                                                        12315,
                                                                        12333
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 361,
                                                                          "column": 63
                                                                        },
                                                                        "end": {
                                                                          "line": 361,
                                                                          "column": 81
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      12310,
                                                                      12333
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 361,
                                                                        "column": 58
                                                                      },
                                                                      "end": {
                                                                        "line": 361,
                                                                        "column": 81
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "event",
                                                                    "range": [
                                                                      12334,
                                                                      12339
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 361,
                                                                        "column": 82
                                                                      },
                                                                      "end": {
                                                                        "line": 361,
                                                                        "column": 87
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    12310,
                                                                    12340
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 361,
                                                                      "column": 58
                                                                    },
                                                                    "end": {
                                                                      "line": 361,
                                                                      "column": 88
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "type",
                                                                  "range": [
                                                                    12341,
                                                                    12345
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 361,
                                                                      "column": 89
                                                                    },
                                                                    "end": {
                                                                      "line": 361,
                                                                      "column": 93
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  12310,
                                                                  12346
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 361,
                                                                    "column": 58
                                                                  },
                                                                  "end": {
                                                                    "line": 361,
                                                                    "column": 94
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "id",
                                                                "range": [
                                                                  12347,
                                                                  12349
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 361,
                                                                    "column": 95
                                                                  },
                                                                  "end": {
                                                                    "line": 361,
                                                                    "column": 97
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                12310,
                                                                12350
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 361,
                                                                  "column": 58
                                                                },
                                                                "end": {
                                                                  "line": 361,
                                                                  "column": 98
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              12270,
                                                              12350
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 361,
                                                                "column": 18
                                                              },
                                                              "end": {
                                                                "line": 361,
                                                                "column": 98
                                                              }
                                                            }
                                                          },
                                                          "consequent": {
                                                            "type": "BlockStatement",
                                                            "body": [
                                                              {
                                                                "type": "ExpressionStatement",
                                                                "expression": {
                                                                  "type": "AssignmentExpression",
                                                                  "operator": "=",
                                                                  "left": {
                                                                    "type": "MemberExpression",
                                                                    "computed": true,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "MemberExpression",
                                                                        "computed": true,
                                                                        "object": {
                                                                          "type": "MemberExpression",
                                                                          "computed": false,
                                                                          "object": {
                                                                            "type": "ThisExpression",
                                                                            "range": [
                                                                              12370,
                                                                              12374
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 362,
                                                                                "column": 16
                                                                              },
                                                                              "end": {
                                                                                "line": 362,
                                                                                "column": 20
                                                                              }
                                                                            }
                                                                          },
                                                                          "property": {
                                                                            "type": "Identifier",
                                                                            "name": "_resourceListeners",
                                                                            "range": [
                                                                              12375,
                                                                              12393
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 362,
                                                                                "column": 21
                                                                              },
                                                                              "end": {
                                                                                "line": 362,
                                                                                "column": 39
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            12370,
                                                                            12393
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 362,
                                                                              "column": 16
                                                                            },
                                                                            "end": {
                                                                              "line": 362,
                                                                              "column": 39
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "event",
                                                                          "range": [
                                                                            12394,
                                                                            12399
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 362,
                                                                              "column": 40
                                                                            },
                                                                            "end": {
                                                                              "line": 362,
                                                                              "column": 45
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          12370,
                                                                          12400
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 362,
                                                                            "column": 16
                                                                          },
                                                                          "end": {
                                                                            "line": 362,
                                                                            "column": 46
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "type",
                                                                        "range": [
                                                                          12401,
                                                                          12405
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 362,
                                                                            "column": 47
                                                                          },
                                                                          "end": {
                                                                            "line": 362,
                                                                            "column": 51
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        12370,
                                                                        12406
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 362,
                                                                          "column": 16
                                                                        },
                                                                        "end": {
                                                                          "line": 362,
                                                                          "column": 52
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "id",
                                                                      "range": [
                                                                        12407,
                                                                        12409
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 362,
                                                                          "column": 53
                                                                        },
                                                                        "end": {
                                                                          "line": 362,
                                                                          "column": 55
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      12370,
                                                                      12410
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 362,
                                                                        "column": 16
                                                                      },
                                                                      "end": {
                                                                        "line": 362,
                                                                        "column": 56
                                                                      }
                                                                    }
                                                                  },
                                                                  "right": {
                                                                    "type": "CallExpression",
                                                                    "callee": {
                                                                      "type": "MemberExpression",
                                                                      "computed": false,
                                                                      "object": {
                                                                        "type": "MemberExpression",
                                                                        "computed": true,
                                                                        "object": {
                                                                          "type": "MemberExpression",
                                                                          "computed": true,
                                                                          "object": {
                                                                            "type": "MemberExpression",
                                                                            "computed": true,
                                                                            "object": {
                                                                              "type": "MemberExpression",
                                                                              "computed": false,
                                                                              "object": {
                                                                                "type": "ThisExpression",
                                                                                "range": [
                                                                                  12413,
                                                                                  12417
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 362,
                                                                                    "column": 59
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 362,
                                                                                    "column": 63
                                                                                  }
                                                                                }
                                                                              },
                                                                              "property": {
                                                                                "type": "Identifier",
                                                                                "name": "_resourceListeners",
                                                                                "range": [
                                                                                  12418,
                                                                                  12436
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 362,
                                                                                    "column": 64
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 362,
                                                                                    "column": 82
                                                                                  }
                                                                                }
                                                                              },
                                                                              "range": [
                                                                                12413,
                                                                                12436
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 362,
                                                                                  "column": 59
                                                                                },
                                                                                "end": {
                                                                                  "line": 362,
                                                                                  "column": 82
                                                                                }
                                                                              }
                                                                            },
                                                                            "property": {
                                                                              "type": "Identifier",
                                                                              "name": "event",
                                                                              "range": [
                                                                                12437,
                                                                                12442
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 362,
                                                                                  "column": 83
                                                                                },
                                                                                "end": {
                                                                                  "line": 362,
                                                                                  "column": 88
                                                                                }
                                                                              }
                                                                            },
                                                                            "range": [
                                                                              12413,
                                                                              12443
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 362,
                                                                                "column": 59
                                                                              },
                                                                              "end": {
                                                                                "line": 362,
                                                                                "column": 89
                                                                              }
                                                                            }
                                                                          },
                                                                          "property": {
                                                                            "type": "Identifier",
                                                                            "name": "type",
                                                                            "range": [
                                                                              12444,
                                                                              12448
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 362,
                                                                                "column": 90
                                                                              },
                                                                              "end": {
                                                                                "line": 362,
                                                                                "column": 94
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            12413,
                                                                            12449
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 362,
                                                                              "column": 59
                                                                            },
                                                                            "end": {
                                                                              "line": 362,
                                                                              "column": 95
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "id",
                                                                          "range": [
                                                                            12450,
                                                                            12452
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 362,
                                                                              "column": 96
                                                                            },
                                                                            "end": {
                                                                              "line": 362,
                                                                              "column": 98
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          12413,
                                                                          12453
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 362,
                                                                            "column": 59
                                                                          },
                                                                          "end": {
                                                                            "line": 362,
                                                                            "column": 99
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "filter",
                                                                        "range": [
                                                                          12454,
                                                                          12460
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 362,
                                                                            "column": 100
                                                                          },
                                                                          "end": {
                                                                            "line": 362,
                                                                            "column": 106
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        12413,
                                                                        12460
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 362,
                                                                          "column": 59
                                                                        },
                                                                        "end": {
                                                                          "line": 362,
                                                                          "column": 106
                                                                        }
                                                                      }
                                                                    },
                                                                    "arguments": [
                                                                      {
                                                                        "type": "ArrowFunctionExpression",
                                                                        "id": null,
                                                                        "params": [
                                                                          {
                                                                            "type": "Identifier",
                                                                            "name": "x",
                                                                            "range": [
                                                                              12461,
                                                                              12462
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 362,
                                                                                "column": 107
                                                                              },
                                                                              "end": {
                                                                                "line": 362,
                                                                                "column": 108
                                                                              }
                                                                            }
                                                                          }
                                                                        ],
                                                                        "body": {
                                                                          "type": "BlockStatement",
                                                                          "body": [
                                                                            {
                                                                              "type": "ReturnStatement",
                                                                              "argument": {
                                                                                "type": "BinaryExpression",
                                                                                "operator": "!==",
                                                                                "left": {
                                                                                  "type": "MemberExpression",
                                                                                  "computed": true,
                                                                                  "object": {
                                                                                    "type": "Identifier",
                                                                                    "name": "x",
                                                                                    "range": [
                                                                                      12493,
                                                                                      12494
                                                                                    ],
                                                                                    "loc": {
                                                                                      "start": {
                                                                                        "line": 363,
                                                                                        "column": 25
                                                                                      },
                                                                                      "end": {
                                                                                        "line": 363,
                                                                                        "column": 26
                                                                                      }
                                                                                    }
                                                                                  },
                                                                                  "property": {
                                                                                    "type": "Literal",
                                                                                    "value": 0,
                                                                                    "raw": "0",
                                                                                    "range": [
                                                                                      12495,
                                                                                      12496
                                                                                    ],
                                                                                    "loc": {
                                                                                      "start": {
                                                                                        "line": 363,
                                                                                        "column": 27
                                                                                      },
                                                                                      "end": {
                                                                                        "line": 363,
                                                                                        "column": 28
                                                                                      }
                                                                                    }
                                                                                  },
                                                                                  "range": [
                                                                                    12493,
                                                                                    12497
                                                                                  ],
                                                                                  "loc": {
                                                                                    "start": {
                                                                                      "line": 363,
                                                                                      "column": 25
                                                                                    },
                                                                                    "end": {
                                                                                      "line": 363,
                                                                                      "column": 29
                                                                                    }
                                                                                  }
                                                                                },
                                                                                "right": {
                                                                                  "type": "Identifier",
                                                                                  "name": "callback",
                                                                                  "range": [
                                                                                    12502,
                                                                                    12510
                                                                                  ],
                                                                                  "loc": {
                                                                                    "start": {
                                                                                      "line": 363,
                                                                                      "column": 34
                                                                                    },
                                                                                    "end": {
                                                                                      "line": 363,
                                                                                      "column": 42
                                                                                    }
                                                                                  }
                                                                                },
                                                                                "range": [
                                                                                  12493,
                                                                                  12510
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 363,
                                                                                    "column": 25
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 363,
                                                                                    "column": 42
                                                                                  }
                                                                                }
                                                                              },
                                                                              "range": [
                                                                                12486,
                                                                                12511
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 363,
                                                                                  "column": 18
                                                                                },
                                                                                "end": {
                                                                                  "line": 363,
                                                                                  "column": 43
                                                                                }
                                                                              }
                                                                            }
                                                                          ],
                                                                          "range": [
                                                                            12466,
                                                                            12529
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 362,
                                                                              "column": 112
                                                                            },
                                                                            "end": {
                                                                              "line": 364,
                                                                              "column": 17
                                                                            }
                                                                          }
                                                                        },
                                                                        "generator": false,
                                                                        "expression": false,
                                                                        "range": [
                                                                          12461,
                                                                          12529
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 362,
                                                                            "column": 107
                                                                          },
                                                                          "end": {
                                                                            "line": 364,
                                                                            "column": 17
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      12413,
                                                                      12530
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 362,
                                                                        "column": 59
                                                                      },
                                                                      "end": {
                                                                        "line": 364,
                                                                        "column": 18
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    12370,
                                                                    12530
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 362,
                                                                      "column": 16
                                                                    },
                                                                    "end": {
                                                                      "line": 364,
                                                                      "column": 18
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  12370,
                                                                  12531
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 362,
                                                                    "column": 16
                                                                  },
                                                                  "end": {
                                                                    "line": 364,
                                                                    "column": 19
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              12352,
                                                              12547
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 361,
                                                                "column": 100
                                                              },
                                                              "end": {
                                                                "line": 365,
                                                                "column": 15
                                                              }
                                                            }
                                                          },
                                                          "alternate": null,
                                                          "range": [
                                                            12266,
                                                            12547
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 361,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 365,
                                                              "column": 15
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        12250,
                                                        12561
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 360,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 366,
                                                          "column": 13
                                                        }
                                                      }
                                                    },
                                                    "alternate": {
                                                      "type": "IfStatement",
                                                      "test": {
                                                        "type": "MemberExpression",
                                                        "computed": true,
                                                        "object": {
                                                          "type": "MemberExpression",
                                                          "computed": true,
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "ThisExpression",
                                                              "range": [
                                                                12571,
                                                                12575
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 366,
                                                                  "column": 23
                                                                },
                                                                "end": {
                                                                  "line": 366,
                                                                  "column": 27
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "_collectionListeners",
                                                              "range": [
                                                                12576,
                                                                12596
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 366,
                                                                  "column": 28
                                                                },
                                                                "end": {
                                                                  "line": 366,
                                                                  "column": 48
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              12571,
                                                              12596
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 366,
                                                                "column": 23
                                                              },
                                                              "end": {
                                                                "line": 366,
                                                                "column": 48
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "event",
                                                            "range": [
                                                              12597,
                                                              12602
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 366,
                                                                "column": 49
                                                              },
                                                              "end": {
                                                                "line": 366,
                                                                "column": 54
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            12571,
                                                            12603
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 366,
                                                              "column": 23
                                                            },
                                                            "end": {
                                                              "line": 366,
                                                              "column": 55
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "type",
                                                          "range": [
                                                            12604,
                                                            12608
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 366,
                                                              "column": 56
                                                            },
                                                            "end": {
                                                              "line": 366,
                                                              "column": 60
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          12571,
                                                          12609
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 366,
                                                            "column": 23
                                                          },
                                                          "end": {
                                                            "line": 366,
                                                            "column": 61
                                                          }
                                                        }
                                                      },
                                                      "consequent": {
                                                        "type": "BlockStatement",
                                                        "body": [
                                                          {
                                                            "type": "ExpressionStatement",
                                                            "expression": {
                                                              "type": "AssignmentExpression",
                                                              "operator": "=",
                                                              "left": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "ThisExpression",
                                                                      "range": [
                                                                        12627,
                                                                        12631
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 367,
                                                                          "column": 14
                                                                        },
                                                                        "end": {
                                                                          "line": 367,
                                                                          "column": 18
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "_collectionListeners",
                                                                      "range": [
                                                                        12632,
                                                                        12652
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 367,
                                                                          "column": 19
                                                                        },
                                                                        "end": {
                                                                          "line": 367,
                                                                          "column": 39
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      12627,
                                                                      12652
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 367,
                                                                        "column": 14
                                                                      },
                                                                      "end": {
                                                                        "line": 367,
                                                                        "column": 39
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "event",
                                                                    "range": [
                                                                      12653,
                                                                      12658
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 367,
                                                                        "column": 40
                                                                      },
                                                                      "end": {
                                                                        "line": 367,
                                                                        "column": 45
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    12627,
                                                                    12659
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 367,
                                                                      "column": 14
                                                                    },
                                                                    "end": {
                                                                      "line": 367,
                                                                      "column": 46
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "type",
                                                                  "range": [
                                                                    12660,
                                                                    12664
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 367,
                                                                      "column": 47
                                                                    },
                                                                    "end": {
                                                                      "line": 367,
                                                                      "column": 51
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  12627,
                                                                  12665
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 367,
                                                                    "column": 14
                                                                  },
                                                                  "end": {
                                                                    "line": 367,
                                                                    "column": 52
                                                                  }
                                                                }
                                                              },
                                                              "right": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": true,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "ThisExpression",
                                                                          "range": [
                                                                            12668,
                                                                            12672
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 367,
                                                                              "column": 55
                                                                            },
                                                                            "end": {
                                                                              "line": 367,
                                                                              "column": 59
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "_collectionListeners",
                                                                          "range": [
                                                                            12673,
                                                                            12693
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 367,
                                                                              "column": 60
                                                                            },
                                                                            "end": {
                                                                              "line": 367,
                                                                              "column": 80
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          12668,
                                                                          12693
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 367,
                                                                            "column": 55
                                                                          },
                                                                          "end": {
                                                                            "line": 367,
                                                                            "column": 80
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "event",
                                                                        "range": [
                                                                          12694,
                                                                          12699
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 367,
                                                                            "column": 81
                                                                          },
                                                                          "end": {
                                                                            "line": 367,
                                                                            "column": 86
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        12668,
                                                                        12700
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 367,
                                                                          "column": 55
                                                                        },
                                                                        "end": {
                                                                          "line": 367,
                                                                          "column": 87
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "type",
                                                                      "range": [
                                                                        12701,
                                                                        12705
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 367,
                                                                          "column": 88
                                                                        },
                                                                        "end": {
                                                                          "line": 367,
                                                                          "column": 92
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      12668,
                                                                      12706
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 367,
                                                                        "column": 55
                                                                      },
                                                                      "end": {
                                                                        "line": 367,
                                                                        "column": 93
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "filter",
                                                                    "range": [
                                                                      12707,
                                                                      12713
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 367,
                                                                        "column": 94
                                                                      },
                                                                      "end": {
                                                                        "line": 367,
                                                                        "column": 100
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    12668,
                                                                    12713
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 367,
                                                                      "column": 55
                                                                    },
                                                                    "end": {
                                                                      "line": 367,
                                                                      "column": 100
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "ArrowFunctionExpression",
                                                                    "id": null,
                                                                    "params": [
                                                                      {
                                                                        "type": "Identifier",
                                                                        "name": "x",
                                                                        "range": [
                                                                          12714,
                                                                          12715
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 367,
                                                                            "column": 101
                                                                          },
                                                                          "end": {
                                                                            "line": 367,
                                                                            "column": 102
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "body": {
                                                                      "type": "BlockStatement",
                                                                      "body": [
                                                                        {
                                                                          "type": "ReturnStatement",
                                                                          "argument": {
                                                                            "type": "BinaryExpression",
                                                                            "operator": "!==",
                                                                            "left": {
                                                                              "type": "MemberExpression",
                                                                              "computed": true,
                                                                              "object": {
                                                                                "type": "Identifier",
                                                                                "name": "x",
                                                                                "range": [
                                                                                  12744,
                                                                                  12745
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 368,
                                                                                    "column": 23
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 368,
                                                                                    "column": 24
                                                                                  }
                                                                                }
                                                                              },
                                                                              "property": {
                                                                                "type": "Literal",
                                                                                "value": 0,
                                                                                "raw": "0",
                                                                                "range": [
                                                                                  12746,
                                                                                  12747
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 368,
                                                                                    "column": 25
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 368,
                                                                                    "column": 26
                                                                                  }
                                                                                }
                                                                              },
                                                                              "range": [
                                                                                12744,
                                                                                12748
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 368,
                                                                                  "column": 23
                                                                                },
                                                                                "end": {
                                                                                  "line": 368,
                                                                                  "column": 27
                                                                                }
                                                                              }
                                                                            },
                                                                            "right": {
                                                                              "type": "Identifier",
                                                                              "name": "callback",
                                                                              "range": [
                                                                                12753,
                                                                                12761
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 368,
                                                                                  "column": 32
                                                                                },
                                                                                "end": {
                                                                                  "line": 368,
                                                                                  "column": 40
                                                                                }
                                                                              }
                                                                            },
                                                                            "range": [
                                                                              12744,
                                                                              12761
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 368,
                                                                                "column": 23
                                                                              },
                                                                              "end": {
                                                                                "line": 368,
                                                                                "column": 40
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            12737,
                                                                            12762
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 368,
                                                                              "column": 16
                                                                            },
                                                                            "end": {
                                                                              "line": 368,
                                                                              "column": 41
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        12719,
                                                                        12778
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 367,
                                                                          "column": 106
                                                                        },
                                                                        "end": {
                                                                          "line": 369,
                                                                          "column": 15
                                                                        }
                                                                      }
                                                                    },
                                                                    "generator": false,
                                                                    "expression": false,
                                                                    "range": [
                                                                      12714,
                                                                      12778
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 367,
                                                                        "column": 101
                                                                      },
                                                                      "end": {
                                                                        "line": 369,
                                                                        "column": 15
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  12668,
                                                                  12779
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 367,
                                                                    "column": 55
                                                                  },
                                                                  "end": {
                                                                    "line": 369,
                                                                    "column": 16
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                12627,
                                                                12779
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 367,
                                                                  "column": 14
                                                                },
                                                                "end": {
                                                                  "line": 369,
                                                                  "column": 16
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              12627,
                                                              12780
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 367,
                                                                "column": 14
                                                              },
                                                              "end": {
                                                                "line": 369,
                                                                "column": 17
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          12611,
                                                          12794
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 366,
                                                            "column": 63
                                                          },
                                                          "end": {
                                                            "line": 370,
                                                            "column": 13
                                                          }
                                                        }
                                                      },
                                                      "alternate": null,
                                                      "range": [
                                                        12567,
                                                        12794
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 366,
                                                          "column": 19
                                                        },
                                                        "end": {
                                                          "line": 370,
                                                          "column": 13
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      12242,
                                                      12794
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 360,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 370,
                                                        "column": 13
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  12228,
                                                  12806
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 359,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 371,
                                                    "column": 11
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": false,
                                              "range": [
                                                12220,
                                                12806
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 359,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 371,
                                                  "column": 11
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            12187,
                                            12807
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 359,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 371,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "range": [
                                          12187,
                                          12808
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 359,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 371,
                                            "column": 13
                                          }
                                        },
                                        "leadingComments": [
                                          {
                                            "type": "Line",
                                            "value": " TODO: Performance-wise, this can be made way better. There shouldn't be a need to maintain separate lists.",
                                            "range": [
                                              12067,
                                              12176
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 358,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 358,
                                                "column": 119
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    ],
                                    "range": [
                                      12055,
                                      12818
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 357,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 372,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    11916,
                                    12818
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 372,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                11906,
                                12826
                              ],
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 29
                                },
                                "end": {
                                  "line": 373,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ThrowStatement",
                                  "argument": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "Error",
                                      "range": [
                                        12852,
                                        12857
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 374,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 374,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "TemplateLiteral",
                                        "quasis": [
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "Unknown type '",
                                              "cooked": "Unknown type '"
                                            },
                                            "tail": false,
                                            "range": [
                                              12858,
                                              12875
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 374,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 374,
                                                "column": 41
                                              }
                                            }
                                          },
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "'",
                                              "cooked": "'"
                                            },
                                            "tail": true,
                                            "range": [
                                              12879,
                                              12882
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 374,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 374,
                                                "column": 48
                                              }
                                            }
                                          }
                                        ],
                                        "expressions": [
                                          {
                                            "type": "Identifier",
                                            "name": "type",
                                            "range": [
                                              12875,
                                              12879
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 374,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 374,
                                                "column": 45
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          12858,
                                          12882
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 374,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 374,
                                            "column": 48
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      12848,
                                      12883
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 374,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 374,
                                        "column": 49
                                      }
                                    }
                                  },
                                  "range": [
                                    12842,
                                    12884
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 374,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 374,
                                      "column": 50
                                    }
                                  }
                                }
                              ],
                              "range": [
                                12832,
                                12892
                              ],
                              "loc": {
                                "start": {
                                  "line": 373,
                                  "column": 13
                                },
                                "end": {
                                  "line": 375,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              11883,
                              12892
                            ],
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 6
                              },
                              "end": {
                                "line": 375,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          11875,
                          12898
                        ],
                        "loc": {
                          "start": {
                            "line": 353,
                            "column": 76
                          },
                          "end": {
                            "line": 376,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  12922,
                                  12927
                                ],
                                "loc": {
                                  "start": {
                                    "line": 377,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 377,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "TemplateLiteral",
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "Unknown event '",
                                        "cooked": "Unknown event '"
                                      },
                                      "tail": false,
                                      "range": [
                                        12928,
                                        12946
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 377,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 377,
                                          "column": 40
                                        }
                                      }
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "'",
                                        "cooked": "'"
                                      },
                                      "tail": true,
                                      "range": [
                                        12951,
                                        12954
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 377,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 377,
                                          "column": 48
                                        }
                                      }
                                    }
                                  ],
                                  "expressions": [
                                    {
                                      "type": "Identifier",
                                      "name": "event",
                                      "range": [
                                        12946,
                                        12951
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 377,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 377,
                                          "column": 45
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    12928,
                                    12954
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 377,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 377,
                                      "column": 48
                                    }
                                  }
                                }
                              ],
                              "range": [
                                12918,
                                12955
                              ],
                              "loc": {
                                "start": {
                                  "line": 377,
                                  "column": 12
                                },
                                "end": {
                                  "line": 377,
                                  "column": 49
                                }
                              }
                            },
                            "range": [
                              12912,
                              12956
                            ],
                            "loc": {
                              "start": {
                                "line": 377,
                                "column": 6
                              },
                              "end": {
                                "line": 377,
                                "column": 50
                              }
                            }
                          }
                        ],
                        "range": [
                          12904,
                          12962
                        ],
                        "loc": {
                          "start": {
                            "line": 376,
                            "column": 11
                          },
                          "end": {
                            "line": 378,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        11803,
                        12962
                      ],
                      "loc": {
                        "start": {
                          "line": 353,
                          "column": 4
                        },
                        "end": {
                          "line": 378,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    11797,
                    12966
                  ],
                  "loc": {
                    "start": {
                      "line": 352,
                      "column": 33
                    },
                    "end": {
                      "line": 379,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  11769,
                  12966
                ],
                "loc": {
                  "start": {
                    "line": 352,
                    "column": 5
                  },
                  "end": {
                    "line": 379,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                11766,
                12966
              ],
              "loc": {
                "start": {
                  "line": 352,
                  "column": 2
                },
                "end": {
                  "line": 379,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Unregister an event listener that was registered with on().\n   *\n   * @since 0.4.0\n   * @param {string} event - Name of the event.\n   * @param {string} type - Name of resource to originally passed to on().\n   * @param {string} [id] - ID of the resource to originally passed to on().\n   * @param {function} callback - Function originally passed to on().\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    11360,
                    11763
                  ],
                  "loc": {
                    "start": {
                      "line": 342,
                      "column": 2
                    },
                    "end": {
                      "line": 351,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Register an event listener: \"added\", \"updated\" or \"removed\".\n   *\n   * @since 0.4.0\n   * @param {string} event - Name of the event.\n   * @param {string} type - Name of resource to watch.\n   * @param {string} [id] - ID of the resource to watch.\n   * @param {function} callback - Function to call when the event occurs.\n   * @param {Object} [context] - Context in which to call the callback.\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    12970,
                    13410
                  ],
                  "loc": {
                    "start": {
                      "line": 381,
                      "column": 2
                    },
                    "end": {
                      "line": 391,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "on",
                "range": [
                  13413,
                  13415
                ],
                "loc": {
                  "start": {
                    "line": 392,
                    "column": 2
                  },
                  "end": {
                    "line": 392,
                    "column": 4
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "event",
                    "range": [
                      13416,
                      13421
                    ],
                    "loc": {
                      "start": {
                        "line": 392,
                        "column": 5
                      },
                      "end": {
                        "line": 392,
                        "column": 10
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      13423,
                      13427
                    ],
                    "loc": {
                      "start": {
                        "line": 392,
                        "column": 12
                      },
                      "end": {
                        "line": 392,
                        "column": 16
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "id",
                    "range": [
                      13429,
                      13431
                    ],
                    "loc": {
                      "start": {
                        "line": 392,
                        "column": 18
                      },
                      "end": {
                        "line": 392,
                        "column": 20
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "callback",
                    "range": [
                      13433,
                      13441
                    ],
                    "loc": {
                      "start": {
                        "line": 392,
                        "column": 22
                      },
                      "end": {
                        "line": 392,
                        "column": 30
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "context",
                    "range": [
                      13443,
                      13450
                    ],
                    "loc": {
                      "start": {
                        "line": 392,
                        "column": 32
                      },
                      "end": {
                        "line": 392,
                        "column": 39
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "MemberExpression",
                          "computed": true,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                13462,
                                13466
                              ],
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 8
                                },
                                "end": {
                                  "line": 393,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_resourceListeners",
                              "range": [
                                13467,
                                13485
                              ],
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 13
                                },
                                "end": {
                                  "line": 393,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              13462,
                              13485
                            ],
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 8
                              },
                              "end": {
                                "line": 393,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "event",
                            "range": [
                              13486,
                              13491
                            ],
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 32
                              },
                              "end": {
                                "line": 393,
                                "column": 37
                              }
                            }
                          },
                          "range": [
                            13462,
                            13492
                          ],
                          "loc": {
                            "start": {
                              "line": 393,
                              "column": 8
                            },
                            "end": {
                              "line": 393,
                              "column": 38
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": true,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                13496,
                                13500
                              ],
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 42
                                },
                                "end": {
                                  "line": 393,
                                  "column": 46
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_collectionListeners",
                              "range": [
                                13501,
                                13521
                              ],
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 47
                                },
                                "end": {
                                  "line": 393,
                                  "column": 67
                                }
                              }
                            },
                            "range": [
                              13496,
                              13521
                            ],
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 42
                              },
                              "end": {
                                "line": 393,
                                "column": 67
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "event",
                            "range": [
                              13522,
                              13527
                            ],
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 68
                              },
                              "end": {
                                "line": 393,
                                "column": 73
                              }
                            }
                          },
                          "range": [
                            13496,
                            13528
                          ],
                          "loc": {
                            "start": {
                              "line": 393,
                              "column": 42
                            },
                            "end": {
                              "line": 393,
                              "column": 74
                            }
                          }
                        },
                        "range": [
                          13462,
                          13528
                        ],
                        "loc": {
                          "start": {
                            "line": 393,
                            "column": 8
                          },
                          "end": {
                            "line": 393,
                            "column": 74
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "MemberExpression",
                              "computed": true,
                              "object": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    13542,
                                    13546
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 394,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 394,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "_types",
                                  "range": [
                                    13547,
                                    13553
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 394,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 394,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  13542,
                                  13553
                                ],
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 21
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  13554,
                                  13558
                                ],
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                13542,
                                13559
                              ],
                              "loc": {
                                "start": {
                                  "line": 394,
                                  "column": 10
                                },
                                "end": {
                                  "line": 394,
                                  "column": 27
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "LogicalExpression",
                                    "operator": "&&",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "id",
                                      "range": [
                                        13575,
                                        13577
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 395,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 395,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "operator": "===",
                                      "left": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ObjectExpression",
                                              "properties": [],
                                              "range": [
                                                13582,
                                                13584
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 395,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 395,
                                                  "column": 21
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "toString",
                                              "range": [
                                                13586,
                                                13594
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 395,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 395,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "range": [
                                              13581,
                                              13594
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 395,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 395,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "call",
                                            "range": [
                                              13595,
                                              13599
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 395,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 395,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "range": [
                                            13581,
                                            13599
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 395,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 395,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "id",
                                            "range": [
                                              13600,
                                              13602
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 395,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 395,
                                                "column": 39
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          13581,
                                          13603
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 395,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 395,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": "[object Function]",
                                        "raw": "'[object Function]'",
                                        "range": [
                                          13608,
                                          13627
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 395,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 395,
                                            "column": 64
                                          }
                                        }
                                      },
                                      "range": [
                                        13581,
                                        13627
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 395,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 395,
                                          "column": 64
                                        }
                                      }
                                    },
                                    "range": [
                                      13575,
                                      13627
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 395,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 395,
                                        "column": 64
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  13641,
                                                  13645
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 396,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 396,
                                                    "column": 14
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "on",
                                                "range": [
                                                  13646,
                                                  13648
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 396,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 396,
                                                    "column": 17
                                                  }
                                                }
                                              },
                                              "range": [
                                                13641,
                                                13648
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 396,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 396,
                                                  "column": 17
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "call",
                                              "range": [
                                                13649,
                                                13653
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 396,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 396,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "range": [
                                              13641,
                                              13653
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 396,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 396,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ThisExpression",
                                              "range": [
                                                13654,
                                                13658
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 396,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 396,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "event",
                                              "range": [
                                                13660,
                                                13665
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 396,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 396,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "type",
                                              "range": [
                                                13667,
                                                13671
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 396,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 396,
                                                  "column": 40
                                                }
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "value": null,
                                              "raw": "null",
                                              "range": [
                                                13673,
                                                13677
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 396,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 396,
                                                  "column": 46
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "id",
                                              "range": [
                                                13679,
                                                13681
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 396,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 396,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "callback",
                                              "range": [
                                                13683,
                                                13691
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 396,
                                                  "column": 52
                                                },
                                                "end": {
                                                  "line": 396,
                                                  "column": 60
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            13641,
                                            13692
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 396,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 396,
                                              "column": 61
                                            }
                                          }
                                        },
                                        "range": [
                                          13641,
                                          13693
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 396,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 396,
                                            "column": 62
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      13629,
                                      13703
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 395,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 397,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      13841,
                                                      13845
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 399,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 399,
                                                        "column": 14
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "_types",
                                                    "range": [
                                                      13846,
                                                      13852
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 399,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 399,
                                                        "column": 21
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    13841,
                                                    13852
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 399,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 399,
                                                      "column": 21
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "type",
                                                  "range": [
                                                    13853,
                                                    13857
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 399,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 399,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  13841,
                                                  13858
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 399,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 399,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_names",
                                                "range": [
                                                  13859,
                                                  13865
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 399,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 399,
                                                    "column": 34
                                                  }
                                                }
                                              },
                                              "range": [
                                                13841,
                                                13865
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 399,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 399,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "forEach",
                                              "range": [
                                                13866,
                                                13873
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 399,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 399,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            "range": [
                                              13841,
                                              13873
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 399,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 399,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "id": null,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "type",
                                                  "range": [
                                                    13874,
                                                    13878
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 399,
                                                      "column": 43
                                                    },
                                                    "end": {
                                                      "line": 399,
                                                      "column": 47
                                                    }
                                                  }
                                                }
                                              ],
                                              "body": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "IfStatement",
                                                    "test": {
                                                      "type": "Identifier",
                                                      "name": "id",
                                                      "range": [
                                                        13900,
                                                        13902
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 400,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 400,
                                                          "column": 18
                                                        }
                                                      }
                                                    },
                                                    "consequent": {
                                                      "type": "BlockStatement",
                                                      "body": [
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "computed": true,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "ThisExpression",
                                                                    "range": [
                                                                      13920,
                                                                      13924
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 401,
                                                                        "column": 14
                                                                      },
                                                                      "end": {
                                                                        "line": 401,
                                                                        "column": 18
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "_resourceListeners",
                                                                    "range": [
                                                                      13925,
                                                                      13943
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 401,
                                                                        "column": 19
                                                                      },
                                                                      "end": {
                                                                        "line": 401,
                                                                        "column": 37
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    13920,
                                                                    13943
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 401,
                                                                      "column": 14
                                                                    },
                                                                    "end": {
                                                                      "line": 401,
                                                                      "column": 37
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "event",
                                                                  "range": [
                                                                    13944,
                                                                    13949
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 401,
                                                                      "column": 38
                                                                    },
                                                                    "end": {
                                                                      "line": 401,
                                                                      "column": 43
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  13920,
                                                                  13950
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 401,
                                                                    "column": 14
                                                                  },
                                                                  "end": {
                                                                    "line": 401,
                                                                    "column": 44
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "type",
                                                                "range": [
                                                                  13951,
                                                                  13955
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 401,
                                                                    "column": 45
                                                                  },
                                                                  "end": {
                                                                    "line": 401,
                                                                    "column": 49
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                13920,
                                                                13956
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 401,
                                                                  "column": 14
                                                                },
                                                                "end": {
                                                                  "line": 401,
                                                                  "column": 50
                                                                }
                                                              }
                                                            },
                                                            "right": {
                                                              "type": "LogicalExpression",
                                                              "operator": "||",
                                                              "left": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "ThisExpression",
                                                                      "range": [
                                                                        13959,
                                                                        13963
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 401,
                                                                          "column": 53
                                                                        },
                                                                        "end": {
                                                                          "line": 401,
                                                                          "column": 57
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "_resourceListeners",
                                                                      "range": [
                                                                        13964,
                                                                        13982
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 401,
                                                                          "column": 58
                                                                        },
                                                                        "end": {
                                                                          "line": 401,
                                                                          "column": 76
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      13959,
                                                                      13982
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 401,
                                                                        "column": 53
                                                                      },
                                                                      "end": {
                                                                        "line": 401,
                                                                        "column": 76
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "event",
                                                                    "range": [
                                                                      13983,
                                                                      13988
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 401,
                                                                        "column": 77
                                                                      },
                                                                      "end": {
                                                                        "line": 401,
                                                                        "column": 82
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    13959,
                                                                    13989
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 401,
                                                                      "column": 53
                                                                    },
                                                                    "end": {
                                                                      "line": 401,
                                                                      "column": 83
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "type",
                                                                  "range": [
                                                                    13990,
                                                                    13994
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 401,
                                                                      "column": 84
                                                                    },
                                                                    "end": {
                                                                      "line": 401,
                                                                      "column": 88
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  13959,
                                                                  13995
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 401,
                                                                    "column": 53
                                                                  },
                                                                  "end": {
                                                                    "line": 401,
                                                                    "column": 89
                                                                  }
                                                                }
                                                              },
                                                              "right": {
                                                                "type": "ObjectExpression",
                                                                "properties": [],
                                                                "range": [
                                                                  13999,
                                                                  14001
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 401,
                                                                    "column": 93
                                                                  },
                                                                  "end": {
                                                                    "line": 401,
                                                                    "column": 95
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                13959,
                                                                14001
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 401,
                                                                  "column": 53
                                                                },
                                                                "end": {
                                                                  "line": 401,
                                                                  "column": 95
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              13920,
                                                              14001
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 401,
                                                                "column": 14
                                                              },
                                                              "end": {
                                                                "line": 401,
                                                                "column": 95
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            13920,
                                                            14002
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 401,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 401,
                                                              "column": 96
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "computed": true,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "ThisExpression",
                                                                      "range": [
                                                                        14017,
                                                                        14021
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 402,
                                                                          "column": 14
                                                                        },
                                                                        "end": {
                                                                          "line": 402,
                                                                          "column": 18
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "_resourceListeners",
                                                                      "range": [
                                                                        14022,
                                                                        14040
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 402,
                                                                          "column": 19
                                                                        },
                                                                        "end": {
                                                                          "line": 402,
                                                                          "column": 37
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14017,
                                                                      14040
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 402,
                                                                        "column": 14
                                                                      },
                                                                      "end": {
                                                                        "line": 402,
                                                                        "column": 37
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "event",
                                                                    "range": [
                                                                      14041,
                                                                      14046
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 402,
                                                                        "column": 38
                                                                      },
                                                                      "end": {
                                                                        "line": 402,
                                                                        "column": 43
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    14017,
                                                                    14047
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 402,
                                                                      "column": 14
                                                                    },
                                                                    "end": {
                                                                      "line": 402,
                                                                      "column": 44
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "type",
                                                                  "range": [
                                                                    14048,
                                                                    14052
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 402,
                                                                      "column": 45
                                                                    },
                                                                    "end": {
                                                                      "line": 402,
                                                                      "column": 49
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  14017,
                                                                  14053
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 402,
                                                                    "column": 14
                                                                  },
                                                                  "end": {
                                                                    "line": 402,
                                                                    "column": 50
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "id",
                                                                "range": [
                                                                  14054,
                                                                  14056
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 402,
                                                                    "column": 51
                                                                  },
                                                                  "end": {
                                                                    "line": 402,
                                                                    "column": 53
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                14017,
                                                                14057
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 402,
                                                                  "column": 14
                                                                },
                                                                "end": {
                                                                  "line": 402,
                                                                  "column": 54
                                                                }
                                                              }
                                                            },
                                                            "right": {
                                                              "type": "LogicalExpression",
                                                              "operator": "||",
                                                              "left": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": true,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": false,
                                                                      "object": {
                                                                        "type": "ThisExpression",
                                                                        "range": [
                                                                          14060,
                                                                          14064
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 402,
                                                                            "column": 57
                                                                          },
                                                                          "end": {
                                                                            "line": 402,
                                                                            "column": 61
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "_resourceListeners",
                                                                        "range": [
                                                                          14065,
                                                                          14083
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 402,
                                                                            "column": 62
                                                                          },
                                                                          "end": {
                                                                            "line": 402,
                                                                            "column": 80
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        14060,
                                                                        14083
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 402,
                                                                          "column": 57
                                                                        },
                                                                        "end": {
                                                                          "line": 402,
                                                                          "column": 80
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "event",
                                                                      "range": [
                                                                        14084,
                                                                        14089
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 402,
                                                                          "column": 81
                                                                        },
                                                                        "end": {
                                                                          "line": 402,
                                                                          "column": 86
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14060,
                                                                      14090
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 402,
                                                                        "column": 57
                                                                      },
                                                                      "end": {
                                                                        "line": 402,
                                                                        "column": 87
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "type",
                                                                    "range": [
                                                                      14091,
                                                                      14095
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 402,
                                                                        "column": 88
                                                                      },
                                                                      "end": {
                                                                        "line": 402,
                                                                        "column": 92
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    14060,
                                                                    14096
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 402,
                                                                      "column": 57
                                                                    },
                                                                    "end": {
                                                                      "line": 402,
                                                                      "column": 93
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "id",
                                                                  "range": [
                                                                    14097,
                                                                    14099
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 402,
                                                                      "column": 94
                                                                    },
                                                                    "end": {
                                                                      "line": 402,
                                                                      "column": 96
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  14060,
                                                                  14100
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 402,
                                                                    "column": 57
                                                                  },
                                                                  "end": {
                                                                    "line": 402,
                                                                    "column": 97
                                                                  }
                                                                }
                                                              },
                                                              "right": {
                                                                "type": "ArrayExpression",
                                                                "elements": [],
                                                                "range": [
                                                                  14104,
                                                                  14106
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 402,
                                                                    "column": 101
                                                                  },
                                                                  "end": {
                                                                    "line": 402,
                                                                    "column": 103
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                14060,
                                                                14106
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 402,
                                                                  "column": 57
                                                                },
                                                                "end": {
                                                                  "line": 402,
                                                                  "column": 103
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              14017,
                                                              14106
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 402,
                                                                "column": 14
                                                              },
                                                              "end": {
                                                                "line": 402,
                                                                "column": 103
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            14017,
                                                            14107
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 402,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 402,
                                                              "column": 104
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "IfStatement",
                                                          "test": {
                                                            "type": "UnaryExpression",
                                                            "operator": "!",
                                                            "argument": {
                                                              "type": "CallExpression",
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": true,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "ThisExpression",
                                                                          "range": [
                                                                            14127,
                                                                            14131
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 403,
                                                                              "column": 19
                                                                            },
                                                                            "end": {
                                                                              "line": 403,
                                                                              "column": 23
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "_resourceListeners",
                                                                          "range": [
                                                                            14132,
                                                                            14150
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 403,
                                                                              "column": 24
                                                                            },
                                                                            "end": {
                                                                              "line": 403,
                                                                              "column": 42
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          14127,
                                                                          14150
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 403,
                                                                            "column": 19
                                                                          },
                                                                          "end": {
                                                                            "line": 403,
                                                                            "column": 42
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "event",
                                                                        "range": [
                                                                          14151,
                                                                          14156
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 403,
                                                                            "column": 43
                                                                          },
                                                                          "end": {
                                                                            "line": 403,
                                                                            "column": 48
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        14127,
                                                                        14157
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 403,
                                                                          "column": 19
                                                                        },
                                                                        "end": {
                                                                          "line": 403,
                                                                          "column": 49
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "type",
                                                                      "range": [
                                                                        14158,
                                                                        14162
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 403,
                                                                          "column": 50
                                                                        },
                                                                        "end": {
                                                                          "line": 403,
                                                                          "column": 54
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14127,
                                                                      14163
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 403,
                                                                        "column": 19
                                                                      },
                                                                      "end": {
                                                                        "line": 403,
                                                                        "column": 55
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "id",
                                                                    "range": [
                                                                      14164,
                                                                      14166
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 403,
                                                                        "column": 56
                                                                      },
                                                                      "end": {
                                                                        "line": 403,
                                                                        "column": 58
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    14127,
                                                                    14167
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 403,
                                                                      "column": 19
                                                                    },
                                                                    "end": {
                                                                      "line": 403,
                                                                      "column": 59
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "find",
                                                                  "range": [
                                                                    14168,
                                                                    14172
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 403,
                                                                      "column": 60
                                                                    },
                                                                    "end": {
                                                                      "line": 403,
                                                                      "column": 64
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  14127,
                                                                  14172
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 403,
                                                                    "column": 19
                                                                  },
                                                                  "end": {
                                                                    "line": 403,
                                                                    "column": 64
                                                                  }
                                                                }
                                                              },
                                                              "arguments": [
                                                                {
                                                                  "type": "ArrowFunctionExpression",
                                                                  "id": null,
                                                                  "params": [
                                                                    {
                                                                      "type": "Identifier",
                                                                      "name": "x",
                                                                      "range": [
                                                                        14173,
                                                                        14174
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 403,
                                                                          "column": 65
                                                                        },
                                                                        "end": {
                                                                          "line": 403,
                                                                          "column": 66
                                                                        }
                                                                      }
                                                                    }
                                                                  ],
                                                                  "body": {
                                                                    "type": "BinaryExpression",
                                                                    "operator": "===",
                                                                    "left": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "name": "x",
                                                                        "range": [
                                                                          14178,
                                                                          14179
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 403,
                                                                            "column": 70
                                                                          },
                                                                          "end": {
                                                                            "line": 403,
                                                                            "column": 71
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Literal",
                                                                        "value": 0,
                                                                        "raw": "0",
                                                                        "range": [
                                                                          14180,
                                                                          14181
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 403,
                                                                            "column": 72
                                                                          },
                                                                          "end": {
                                                                            "line": 403,
                                                                            "column": 73
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        14178,
                                                                        14182
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 403,
                                                                          "column": 70
                                                                        },
                                                                        "end": {
                                                                          "line": 403,
                                                                          "column": 74
                                                                        }
                                                                      }
                                                                    },
                                                                    "right": {
                                                                      "type": "Identifier",
                                                                      "name": "callback",
                                                                      "range": [
                                                                        14187,
                                                                        14195
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 403,
                                                                          "column": 79
                                                                        },
                                                                        "end": {
                                                                          "line": 403,
                                                                          "column": 87
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14178,
                                                                      14195
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 403,
                                                                        "column": 70
                                                                      },
                                                                      "end": {
                                                                        "line": 403,
                                                                        "column": 87
                                                                      }
                                                                    }
                                                                  },
                                                                  "generator": false,
                                                                  "expression": true,
                                                                  "range": [
                                                                    14173,
                                                                    14195
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 403,
                                                                      "column": 65
                                                                    },
                                                                    "end": {
                                                                      "line": 403,
                                                                      "column": 87
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "range": [
                                                                14127,
                                                                14196
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 403,
                                                                  "column": 19
                                                                },
                                                                "end": {
                                                                  "line": 403,
                                                                  "column": 88
                                                                }
                                                              }
                                                            },
                                                            "prefix": true,
                                                            "range": [
                                                              14126,
                                                              14196
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 403,
                                                                "column": 18
                                                              },
                                                              "end": {
                                                                "line": 403,
                                                                "column": 88
                                                              }
                                                            }
                                                          },
                                                          "consequent": {
                                                            "type": "BlockStatement",
                                                            "body": [
                                                              {
                                                                "type": "ExpressionStatement",
                                                                "expression": {
                                                                  "type": "CallExpression",
                                                                  "callee": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "MemberExpression",
                                                                        "computed": true,
                                                                        "object": {
                                                                          "type": "MemberExpression",
                                                                          "computed": true,
                                                                          "object": {
                                                                            "type": "MemberExpression",
                                                                            "computed": false,
                                                                            "object": {
                                                                              "type": "ThisExpression",
                                                                              "range": [
                                                                                14216,
                                                                                14220
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 404,
                                                                                  "column": 16
                                                                                },
                                                                                "end": {
                                                                                  "line": 404,
                                                                                  "column": 20
                                                                                }
                                                                              }
                                                                            },
                                                                            "property": {
                                                                              "type": "Identifier",
                                                                              "name": "_resourceListeners",
                                                                              "range": [
                                                                                14221,
                                                                                14239
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 404,
                                                                                  "column": 21
                                                                                },
                                                                                "end": {
                                                                                  "line": 404,
                                                                                  "column": 39
                                                                                }
                                                                              }
                                                                            },
                                                                            "range": [
                                                                              14216,
                                                                              14239
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 404,
                                                                                "column": 16
                                                                              },
                                                                              "end": {
                                                                                "line": 404,
                                                                                "column": 39
                                                                              }
                                                                            }
                                                                          },
                                                                          "property": {
                                                                            "type": "Identifier",
                                                                            "name": "event",
                                                                            "range": [
                                                                              14240,
                                                                              14245
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 404,
                                                                                "column": 40
                                                                              },
                                                                              "end": {
                                                                                "line": 404,
                                                                                "column": 45
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            14216,
                                                                            14246
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 404,
                                                                              "column": 16
                                                                            },
                                                                            "end": {
                                                                              "line": 404,
                                                                              "column": 46
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "type",
                                                                          "range": [
                                                                            14247,
                                                                            14251
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 404,
                                                                              "column": 47
                                                                            },
                                                                            "end": {
                                                                              "line": 404,
                                                                              "column": 51
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          14216,
                                                                          14252
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 404,
                                                                            "column": 16
                                                                          },
                                                                          "end": {
                                                                            "line": 404,
                                                                            "column": 52
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "id",
                                                                        "range": [
                                                                          14253,
                                                                          14255
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 404,
                                                                            "column": 53
                                                                          },
                                                                          "end": {
                                                                            "line": 404,
                                                                            "column": 55
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        14216,
                                                                        14256
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 404,
                                                                          "column": 16
                                                                        },
                                                                        "end": {
                                                                          "line": 404,
                                                                          "column": 56
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "push",
                                                                      "range": [
                                                                        14257,
                                                                        14261
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 404,
                                                                          "column": 57
                                                                        },
                                                                        "end": {
                                                                          "line": 404,
                                                                          "column": 61
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14216,
                                                                      14261
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 404,
                                                                        "column": 16
                                                                      },
                                                                      "end": {
                                                                        "line": 404,
                                                                        "column": 61
                                                                      }
                                                                    }
                                                                  },
                                                                  "arguments": [
                                                                    {
                                                                      "type": "ArrayExpression",
                                                                      "elements": [
                                                                        {
                                                                          "type": "Identifier",
                                                                          "name": "callback",
                                                                          "range": [
                                                                            14264,
                                                                            14272
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 404,
                                                                              "column": 64
                                                                            },
                                                                            "end": {
                                                                              "line": 404,
                                                                              "column": 72
                                                                            }
                                                                          }
                                                                        },
                                                                        {
                                                                          "type": "Identifier",
                                                                          "name": "context",
                                                                          "range": [
                                                                            14274,
                                                                            14281
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 404,
                                                                              "column": 74
                                                                            },
                                                                            "end": {
                                                                              "line": 404,
                                                                              "column": 81
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        14262,
                                                                        14283
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 404,
                                                                          "column": 62
                                                                        },
                                                                        "end": {
                                                                          "line": 404,
                                                                          "column": 83
                                                                        }
                                                                      }
                                                                    }
                                                                  ],
                                                                  "range": [
                                                                    14216,
                                                                    14284
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 404,
                                                                      "column": 16
                                                                    },
                                                                    "end": {
                                                                      "line": 404,
                                                                      "column": 84
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  14216,
                                                                  14285
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 404,
                                                                    "column": 16
                                                                  },
                                                                  "end": {
                                                                    "line": 404,
                                                                    "column": 85
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              14198,
                                                              14301
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 403,
                                                                "column": 90
                                                              },
                                                              "end": {
                                                                "line": 405,
                                                                "column": 15
                                                              }
                                                            }
                                                          },
                                                          "alternate": null,
                                                          "range": [
                                                            14122,
                                                            14301
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 403,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 405,
                                                              "column": 15
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        13904,
                                                        14315
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 400,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 406,
                                                          "column": 13
                                                        }
                                                      }
                                                    },
                                                    "alternate": {
                                                      "type": "BlockStatement",
                                                      "body": [
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "computed": true,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "ThisExpression",
                                                                    "range": [
                                                                      14337,
                                                                      14341
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 407,
                                                                        "column": 14
                                                                      },
                                                                      "end": {
                                                                        "line": 407,
                                                                        "column": 18
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "_collectionListeners",
                                                                    "range": [
                                                                      14342,
                                                                      14362
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 407,
                                                                        "column": 19
                                                                      },
                                                                      "end": {
                                                                        "line": 407,
                                                                        "column": 39
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    14337,
                                                                    14362
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 407,
                                                                      "column": 14
                                                                    },
                                                                    "end": {
                                                                      "line": 407,
                                                                      "column": 39
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "event",
                                                                  "range": [
                                                                    14363,
                                                                    14368
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 407,
                                                                      "column": 40
                                                                    },
                                                                    "end": {
                                                                      "line": 407,
                                                                      "column": 45
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  14337,
                                                                  14369
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 407,
                                                                    "column": 14
                                                                  },
                                                                  "end": {
                                                                    "line": 407,
                                                                    "column": 46
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "type",
                                                                "range": [
                                                                  14370,
                                                                  14374
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 407,
                                                                    "column": 47
                                                                  },
                                                                  "end": {
                                                                    "line": 407,
                                                                    "column": 51
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                14337,
                                                                14375
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 407,
                                                                  "column": 14
                                                                },
                                                                "end": {
                                                                  "line": 407,
                                                                  "column": 52
                                                                }
                                                              }
                                                            },
                                                            "right": {
                                                              "type": "LogicalExpression",
                                                              "operator": "||",
                                                              "left": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "ThisExpression",
                                                                      "range": [
                                                                        14378,
                                                                        14382
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 407,
                                                                          "column": 55
                                                                        },
                                                                        "end": {
                                                                          "line": 407,
                                                                          "column": 59
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "_collectionListeners",
                                                                      "range": [
                                                                        14383,
                                                                        14403
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 407,
                                                                          "column": 60
                                                                        },
                                                                        "end": {
                                                                          "line": 407,
                                                                          "column": 80
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14378,
                                                                      14403
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 407,
                                                                        "column": 55
                                                                      },
                                                                      "end": {
                                                                        "line": 407,
                                                                        "column": 80
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "event",
                                                                    "range": [
                                                                      14404,
                                                                      14409
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 407,
                                                                        "column": 81
                                                                      },
                                                                      "end": {
                                                                        "line": 407,
                                                                        "column": 86
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    14378,
                                                                    14410
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 407,
                                                                      "column": 55
                                                                    },
                                                                    "end": {
                                                                      "line": 407,
                                                                      "column": 87
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "type",
                                                                  "range": [
                                                                    14411,
                                                                    14415
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 407,
                                                                      "column": 88
                                                                    },
                                                                    "end": {
                                                                      "line": 407,
                                                                      "column": 92
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  14378,
                                                                  14416
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 407,
                                                                    "column": 55
                                                                  },
                                                                  "end": {
                                                                    "line": 407,
                                                                    "column": 93
                                                                  }
                                                                }
                                                              },
                                                              "right": {
                                                                "type": "ArrayExpression",
                                                                "elements": [],
                                                                "range": [
                                                                  14420,
                                                                  14422
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 407,
                                                                    "column": 97
                                                                  },
                                                                  "end": {
                                                                    "line": 407,
                                                                    "column": 99
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                14378,
                                                                14422
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 407,
                                                                  "column": 55
                                                                },
                                                                "end": {
                                                                  "line": 407,
                                                                  "column": 99
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              14337,
                                                              14422
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 407,
                                                                "column": 14
                                                              },
                                                              "end": {
                                                                "line": 407,
                                                                "column": 99
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            14337,
                                                            14423
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 407,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 407,
                                                              "column": 100
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "IfStatement",
                                                          "test": {
                                                            "type": "UnaryExpression",
                                                            "operator": "!",
                                                            "argument": {
                                                              "type": "CallExpression",
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "computed": true,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": false,
                                                                      "object": {
                                                                        "type": "ThisExpression",
                                                                        "range": [
                                                                          14443,
                                                                          14447
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 408,
                                                                            "column": 19
                                                                          },
                                                                          "end": {
                                                                            "line": 408,
                                                                            "column": 23
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "_collectionListeners",
                                                                        "range": [
                                                                          14448,
                                                                          14468
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 408,
                                                                            "column": 24
                                                                          },
                                                                          "end": {
                                                                            "line": 408,
                                                                            "column": 44
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        14443,
                                                                        14468
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 408,
                                                                          "column": 19
                                                                        },
                                                                        "end": {
                                                                          "line": 408,
                                                                          "column": 44
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "event",
                                                                      "range": [
                                                                        14469,
                                                                        14474
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 408,
                                                                          "column": 45
                                                                        },
                                                                        "end": {
                                                                          "line": 408,
                                                                          "column": 50
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14443,
                                                                      14475
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 408,
                                                                        "column": 19
                                                                      },
                                                                      "end": {
                                                                        "line": 408,
                                                                        "column": 51
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "type",
                                                                    "range": [
                                                                      14476,
                                                                      14480
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 408,
                                                                        "column": 52
                                                                      },
                                                                      "end": {
                                                                        "line": 408,
                                                                        "column": 56
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    14443,
                                                                    14481
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 408,
                                                                      "column": 19
                                                                    },
                                                                    "end": {
                                                                      "line": 408,
                                                                      "column": 57
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "find",
                                                                  "range": [
                                                                    14482,
                                                                    14486
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 408,
                                                                      "column": 58
                                                                    },
                                                                    "end": {
                                                                      "line": 408,
                                                                      "column": 62
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  14443,
                                                                  14486
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 408,
                                                                    "column": 19
                                                                  },
                                                                  "end": {
                                                                    "line": 408,
                                                                    "column": 62
                                                                  }
                                                                }
                                                              },
                                                              "arguments": [
                                                                {
                                                                  "type": "ArrowFunctionExpression",
                                                                  "id": null,
                                                                  "params": [
                                                                    {
                                                                      "type": "Identifier",
                                                                      "name": "x",
                                                                      "range": [
                                                                        14487,
                                                                        14488
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 408,
                                                                          "column": 63
                                                                        },
                                                                        "end": {
                                                                          "line": 408,
                                                                          "column": 64
                                                                        }
                                                                      }
                                                                    }
                                                                  ],
                                                                  "body": {
                                                                    "type": "BinaryExpression",
                                                                    "operator": "===",
                                                                    "left": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "name": "x",
                                                                        "range": [
                                                                          14492,
                                                                          14493
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 408,
                                                                            "column": 68
                                                                          },
                                                                          "end": {
                                                                            "line": 408,
                                                                            "column": 69
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Literal",
                                                                        "value": 0,
                                                                        "raw": "0",
                                                                        "range": [
                                                                          14494,
                                                                          14495
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 408,
                                                                            "column": 70
                                                                          },
                                                                          "end": {
                                                                            "line": 408,
                                                                            "column": 71
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        14492,
                                                                        14496
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 408,
                                                                          "column": 68
                                                                        },
                                                                        "end": {
                                                                          "line": 408,
                                                                          "column": 72
                                                                        }
                                                                      }
                                                                    },
                                                                    "right": {
                                                                      "type": "Identifier",
                                                                      "name": "callback",
                                                                      "range": [
                                                                        14501,
                                                                        14509
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 408,
                                                                          "column": 77
                                                                        },
                                                                        "end": {
                                                                          "line": 408,
                                                                          "column": 85
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14492,
                                                                      14509
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 408,
                                                                        "column": 68
                                                                      },
                                                                      "end": {
                                                                        "line": 408,
                                                                        "column": 85
                                                                      }
                                                                    }
                                                                  },
                                                                  "generator": false,
                                                                  "expression": true,
                                                                  "range": [
                                                                    14487,
                                                                    14509
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 408,
                                                                      "column": 63
                                                                    },
                                                                    "end": {
                                                                      "line": 408,
                                                                      "column": 85
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "range": [
                                                                14443,
                                                                14510
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 408,
                                                                  "column": 19
                                                                },
                                                                "end": {
                                                                  "line": 408,
                                                                  "column": 86
                                                                }
                                                              }
                                                            },
                                                            "prefix": true,
                                                            "range": [
                                                              14442,
                                                              14510
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 408,
                                                                "column": 18
                                                              },
                                                              "end": {
                                                                "line": 408,
                                                                "column": 86
                                                              }
                                                            }
                                                          },
                                                          "consequent": {
                                                            "type": "BlockStatement",
                                                            "body": [
                                                              {
                                                                "type": "ExpressionStatement",
                                                                "expression": {
                                                                  "type": "CallExpression",
                                                                  "callee": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "MemberExpression",
                                                                        "computed": true,
                                                                        "object": {
                                                                          "type": "MemberExpression",
                                                                          "computed": false,
                                                                          "object": {
                                                                            "type": "ThisExpression",
                                                                            "range": [
                                                                              14530,
                                                                              14534
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 409,
                                                                                "column": 16
                                                                              },
                                                                              "end": {
                                                                                "line": 409,
                                                                                "column": 20
                                                                              }
                                                                            }
                                                                          },
                                                                          "property": {
                                                                            "type": "Identifier",
                                                                            "name": "_collectionListeners",
                                                                            "range": [
                                                                              14535,
                                                                              14555
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 409,
                                                                                "column": 21
                                                                              },
                                                                              "end": {
                                                                                "line": 409,
                                                                                "column": 41
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            14530,
                                                                            14555
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 409,
                                                                              "column": 16
                                                                            },
                                                                            "end": {
                                                                              "line": 409,
                                                                              "column": 41
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "event",
                                                                          "range": [
                                                                            14556,
                                                                            14561
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 409,
                                                                              "column": 42
                                                                            },
                                                                            "end": {
                                                                              "line": 409,
                                                                              "column": 47
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          14530,
                                                                          14562
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 409,
                                                                            "column": 16
                                                                          },
                                                                          "end": {
                                                                            "line": 409,
                                                                            "column": 48
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "type",
                                                                        "range": [
                                                                          14563,
                                                                          14567
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 409,
                                                                            "column": 49
                                                                          },
                                                                          "end": {
                                                                            "line": 409,
                                                                            "column": 53
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        14530,
                                                                        14568
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 409,
                                                                          "column": 16
                                                                        },
                                                                        "end": {
                                                                          "line": 409,
                                                                          "column": 54
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "push",
                                                                      "range": [
                                                                        14569,
                                                                        14573
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 409,
                                                                          "column": 55
                                                                        },
                                                                        "end": {
                                                                          "line": 409,
                                                                          "column": 59
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      14530,
                                                                      14573
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 409,
                                                                        "column": 16
                                                                      },
                                                                      "end": {
                                                                        "line": 409,
                                                                        "column": 59
                                                                      }
                                                                    }
                                                                  },
                                                                  "arguments": [
                                                                    {
                                                                      "type": "ArrayExpression",
                                                                      "elements": [
                                                                        {
                                                                          "type": "Identifier",
                                                                          "name": "callback",
                                                                          "range": [
                                                                            14576,
                                                                            14584
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 409,
                                                                              "column": 62
                                                                            },
                                                                            "end": {
                                                                              "line": 409,
                                                                              "column": 70
                                                                            }
                                                                          }
                                                                        },
                                                                        {
                                                                          "type": "Identifier",
                                                                          "name": "context",
                                                                          "range": [
                                                                            14586,
                                                                            14593
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 409,
                                                                              "column": 72
                                                                            },
                                                                            "end": {
                                                                              "line": 409,
                                                                              "column": 79
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        14574,
                                                                        14595
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 409,
                                                                          "column": 60
                                                                        },
                                                                        "end": {
                                                                          "line": 409,
                                                                          "column": 81
                                                                        }
                                                                      }
                                                                    }
                                                                  ],
                                                                  "range": [
                                                                    14530,
                                                                    14596
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 409,
                                                                      "column": 16
                                                                    },
                                                                    "end": {
                                                                      "line": 409,
                                                                      "column": 82
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  14530,
                                                                  14597
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 409,
                                                                    "column": 16
                                                                  },
                                                                  "end": {
                                                                    "line": 409,
                                                                    "column": 83
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              14512,
                                                              14613
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 408,
                                                                "column": 88
                                                              },
                                                              "end": {
                                                                "line": 410,
                                                                "column": 15
                                                              }
                                                            }
                                                          },
                                                          "alternate": null,
                                                          "range": [
                                                            14438,
                                                            14613
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 408,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 410,
                                                              "column": 15
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        14321,
                                                        14627
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 406,
                                                          "column": 19
                                                        },
                                                        "end": {
                                                          "line": 411,
                                                          "column": 13
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      13896,
                                                      14627
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 400,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 411,
                                                        "column": 13
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  13882,
                                                  14639
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 399,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 412,
                                                    "column": 11
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": false,
                                              "range": [
                                                13874,
                                                14639
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 399,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 412,
                                                  "column": 11
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            13841,
                                            14640
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 399,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 412,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "range": [
                                          13841,
                                          14641
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 399,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 412,
                                            "column": 13
                                          }
                                        },
                                        "leadingComments": [
                                          {
                                            "type": "Line",
                                            "value": " TODO: Performance-wise, this can be made way better. There shouldn't be a need to maintain separate lists.",
                                            "range": [
                                              13721,
                                              13830
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 398,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 398,
                                                "column": 119
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    ],
                                    "range": [
                                      13709,
                                      14651
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 397,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 413,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    13571,
                                    14651
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 395,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 413,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                13561,
                                14659
                              ],
                              "loc": {
                                "start": {
                                  "line": 394,
                                  "column": 29
                                },
                                "end": {
                                  "line": 414,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ThrowStatement",
                                  "argument": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "Error",
                                      "range": [
                                        14685,
                                        14690
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 415,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 415,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "TemplateLiteral",
                                        "quasis": [
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "Unknown type '",
                                              "cooked": "Unknown type '"
                                            },
                                            "tail": false,
                                            "range": [
                                              14691,
                                              14708
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 415,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 415,
                                                "column": 41
                                              }
                                            }
                                          },
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "'",
                                              "cooked": "'"
                                            },
                                            "tail": true,
                                            "range": [
                                              14712,
                                              14715
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 415,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 415,
                                                "column": 48
                                              }
                                            }
                                          }
                                        ],
                                        "expressions": [
                                          {
                                            "type": "Identifier",
                                            "name": "type",
                                            "range": [
                                              14708,
                                              14712
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 415,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 415,
                                                "column": 45
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          14691,
                                          14715
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 415,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 415,
                                            "column": 48
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      14681,
                                      14716
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 415,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 415,
                                        "column": 49
                                      }
                                    }
                                  },
                                  "range": [
                                    14675,
                                    14717
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 415,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 415,
                                      "column": 50
                                    }
                                  }
                                }
                              ],
                              "range": [
                                14665,
                                14725
                              ],
                              "loc": {
                                "start": {
                                  "line": 414,
                                  "column": 13
                                },
                                "end": {
                                  "line": 416,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              13538,
                              14725
                            ],
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 6
                              },
                              "end": {
                                "line": 416,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          13530,
                          14731
                        ],
                        "loc": {
                          "start": {
                            "line": 393,
                            "column": 76
                          },
                          "end": {
                            "line": 417,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  14755,
                                  14760
                                ],
                                "loc": {
                                  "start": {
                                    "line": 418,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 418,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "TemplateLiteral",
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "Unknown event '",
                                        "cooked": "Unknown event '"
                                      },
                                      "tail": false,
                                      "range": [
                                        14761,
                                        14779
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 418,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 418,
                                          "column": 40
                                        }
                                      }
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "'",
                                        "cooked": "'"
                                      },
                                      "tail": true,
                                      "range": [
                                        14784,
                                        14787
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 418,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 418,
                                          "column": 48
                                        }
                                      }
                                    }
                                  ],
                                  "expressions": [
                                    {
                                      "type": "Identifier",
                                      "name": "event",
                                      "range": [
                                        14779,
                                        14784
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 418,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 418,
                                          "column": 45
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    14761,
                                    14787
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 418,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 418,
                                      "column": 48
                                    }
                                  }
                                }
                              ],
                              "range": [
                                14751,
                                14788
                              ],
                              "loc": {
                                "start": {
                                  "line": 418,
                                  "column": 12
                                },
                                "end": {
                                  "line": 418,
                                  "column": 49
                                }
                              }
                            },
                            "range": [
                              14745,
                              14789
                            ],
                            "loc": {
                              "start": {
                                "line": 418,
                                "column": 6
                              },
                              "end": {
                                "line": 418,
                                "column": 50
                              }
                            }
                          }
                        ],
                        "range": [
                          14737,
                          14795
                        ],
                        "loc": {
                          "start": {
                            "line": 417,
                            "column": 11
                          },
                          "end": {
                            "line": 419,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        13458,
                        14795
                      ],
                      "loc": {
                        "start": {
                          "line": 393,
                          "column": 4
                        },
                        "end": {
                          "line": 419,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    13452,
                    14799
                  ],
                  "loc": {
                    "start": {
                      "line": 392,
                      "column": 41
                    },
                    "end": {
                      "line": 420,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  13415,
                  14799
                ],
                "loc": {
                  "start": {
                    "line": 392,
                    "column": 4
                  },
                  "end": {
                    "line": 420,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                13413,
                14799
              ],
              "loc": {
                "start": {
                  "line": 392,
                  "column": 2
                },
                "end": {
                  "line": 420,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Register an event listener: \"added\", \"updated\" or \"removed\".\n   *\n   * @since 0.4.0\n   * @param {string} event - Name of the event.\n   * @param {string} type - Name of resource to watch.\n   * @param {string} [id] - ID of the resource to watch.\n   * @param {function} callback - Function to call when the event occurs.\n   * @param {Object} [context] - Context in which to call the callback.\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    12970,
                    13410
                  ],
                  "loc": {
                    "start": {
                      "line": 381,
                      "column": 2
                    },
                    "end": {
                      "line": 391,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Add a JSON API response to the store. This method can be used to handle a\n   * successful GET or POST response from the server.\n   *\n   * @since 0.1.0\n   * @param {Object} root - Top Level Object to push. See:\n                            http://jsonapi.org/format/#document-top-level\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    14803,
                    15137
                  ],
                  "loc": {
                    "start": {
                      "line": 422,
                      "column": 2
                    },
                    "end": {
                      "line": 430,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "push",
                "range": [
                  15140,
                  15144
                ],
                "loc": {
                  "start": {
                    "line": 431,
                    "column": 2
                  },
                  "end": {
                    "line": 431,
                    "column": 6
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "root",
                    "range": [
                      15145,
                      15149
                    ],
                    "loc": {
                      "start": {
                        "line": 431,
                        "column": 7
                      },
                      "end": {
                        "line": 431,
                        "column": 11
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "===",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "root",
                              "range": [
                                15161,
                                15165
                              ],
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 8
                                },
                                "end": {
                                  "line": 432,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "data",
                              "range": [
                                15166,
                                15170
                              ],
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 13
                                },
                                "end": {
                                  "line": 432,
                                  "column": 17
                                }
                              }
                            },
                            "range": [
                              15161,
                              15170
                            ],
                            "loc": {
                              "start": {
                                "line": 432,
                                "column": 8
                              },
                              "end": {
                                "line": 432,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "constructor",
                            "range": [
                              15171,
                              15182
                            ],
                            "loc": {
                              "start": {
                                "line": 432,
                                "column": 18
                              },
                              "end": {
                                "line": 432,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            15161,
                            15182
                          ],
                          "loc": {
                            "start": {
                              "line": 432,
                              "column": 8
                            },
                            "end": {
                              "line": 432,
                              "column": 29
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "Array",
                          "range": [
                            15187,
                            15192
                          ],
                          "loc": {
                            "start": {
                              "line": 432,
                              "column": 34
                            },
                            "end": {
                              "line": 432,
                              "column": 39
                            }
                          }
                        },
                        "range": [
                          15161,
                          15192
                        ],
                        "loc": {
                          "start": {
                            "line": 432,
                            "column": 8
                          },
                          "end": {
                            "line": 432,
                            "column": 39
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "root",
                                    "range": [
                                      15202,
                                      15206
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 433,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 433,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "data",
                                    "range": [
                                      15207,
                                      15211
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 433,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 433,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "range": [
                                    15202,
                                    15211
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 433,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 433,
                                      "column": 15
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "forEach",
                                  "range": [
                                    15212,
                                    15219
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 433,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 433,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  15202,
                                  15219
                                ],
                                "loc": {
                                  "start": {
                                    "line": 433,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 433,
                                    "column": 23
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "id": null,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "name": "x",
                                      "range": [
                                        15220,
                                        15221
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 433,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 433,
                                          "column": 25
                                        }
                                      }
                                    }
                                  ],
                                  "body": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          15225,
                                          15229
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 433,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 433,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "add",
                                        "range": [
                                          15230,
                                          15233
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 433,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 433,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        15225,
                                        15233
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 433,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 433,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "x",
                                        "range": [
                                          15234,
                                          15235
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 433,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 433,
                                            "column": 39
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      15225,
                                      15236
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 433,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 433,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "generator": false,
                                  "expression": true,
                                  "range": [
                                    15220,
                                    15236
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 433,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 433,
                                      "column": 40
                                    }
                                  }
                                }
                              ],
                              "range": [
                                15202,
                                15237
                              ],
                              "loc": {
                                "start": {
                                  "line": 433,
                                  "column": 6
                                },
                                "end": {
                                  "line": 433,
                                  "column": 41
                                }
                              }
                            },
                            "range": [
                              15202,
                              15238
                            ],
                            "loc": {
                              "start": {
                                "line": 433,
                                "column": 6
                              },
                              "end": {
                                "line": 433,
                                "column": 42
                              }
                            }
                          }
                        ],
                        "range": [
                          15194,
                          15244
                        ],
                        "loc": {
                          "start": {
                            "line": 432,
                            "column": 41
                          },
                          "end": {
                            "line": 434,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    15258,
                                    15262
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 435,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 435,
                                      "column": 10
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "add",
                                  "range": [
                                    15263,
                                    15266
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 435,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 435,
                                      "column": 14
                                    }
                                  }
                                },
                                "range": [
                                  15258,
                                  15266
                                ],
                                "loc": {
                                  "start": {
                                    "line": 435,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 435,
                                    "column": 14
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "root",
                                    "range": [
                                      15267,
                                      15271
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 435,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 435,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "data",
                                    "range": [
                                      15272,
                                      15276
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 435,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 435,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "range": [
                                    15267,
                                    15276
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 435,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 435,
                                      "column": 24
                                    }
                                  }
                                }
                              ],
                              "range": [
                                15258,
                                15277
                              ],
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 6
                                },
                                "end": {
                                  "line": 435,
                                  "column": 25
                                }
                              }
                            },
                            "range": [
                              15258,
                              15278
                            ],
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 6
                              },
                              "end": {
                                "line": 435,
                                "column": 26
                              }
                            }
                          }
                        ],
                        "range": [
                          15250,
                          15284
                        ],
                        "loc": {
                          "start": {
                            "line": 434,
                            "column": 11
                          },
                          "end": {
                            "line": 436,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        15157,
                        15284
                      ],
                      "loc": {
                        "start": {
                          "line": 432,
                          "column": 4
                        },
                        "end": {
                          "line": 436,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "root",
                          "range": [
                            15293,
                            15297
                          ],
                          "loc": {
                            "start": {
                              "line": 437,
                              "column": 8
                            },
                            "end": {
                              "line": 437,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "included",
                          "range": [
                            15298,
                            15306
                          ],
                          "loc": {
                            "start": {
                              "line": 437,
                              "column": 13
                            },
                            "end": {
                              "line": 437,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          15293,
                          15306
                        ],
                        "loc": {
                          "start": {
                            "line": 437,
                            "column": 8
                          },
                          "end": {
                            "line": 437,
                            "column": 21
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "root",
                                    "range": [
                                      15316,
                                      15320
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 438,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 438,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "included",
                                    "range": [
                                      15321,
                                      15329
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 438,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 438,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "range": [
                                    15316,
                                    15329
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 438,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 438,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "forEach",
                                  "range": [
                                    15330,
                                    15337
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 438,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 438,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  15316,
                                  15337
                                ],
                                "loc": {
                                  "start": {
                                    "line": 438,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 438,
                                    "column": 27
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "id": null,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "name": "x",
                                      "range": [
                                        15338,
                                        15339
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 438,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 438,
                                          "column": 29
                                        }
                                      }
                                    }
                                  ],
                                  "body": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          15343,
                                          15347
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 438,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 438,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "add",
                                        "range": [
                                          15348,
                                          15351
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 438,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 438,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "range": [
                                        15343,
                                        15351
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 438,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 438,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "x",
                                        "range": [
                                          15352,
                                          15353
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 438,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 438,
                                            "column": 43
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      15343,
                                      15354
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 438,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 438,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "generator": false,
                                  "expression": true,
                                  "range": [
                                    15338,
                                    15354
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 438,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 438,
                                      "column": 44
                                    }
                                  }
                                }
                              ],
                              "range": [
                                15316,
                                15355
                              ],
                              "loc": {
                                "start": {
                                  "line": 438,
                                  "column": 6
                                },
                                "end": {
                                  "line": 438,
                                  "column": 45
                                }
                              }
                            },
                            "range": [
                              15316,
                              15356
                            ],
                            "loc": {
                              "start": {
                                "line": 438,
                                "column": 6
                              },
                              "end": {
                                "line": 438,
                                "column": 46
                              }
                            }
                          }
                        ],
                        "range": [
                          15308,
                          15362
                        ],
                        "loc": {
                          "start": {
                            "line": 437,
                            "column": 23
                          },
                          "end": {
                            "line": 439,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        15289,
                        15362
                      ],
                      "loc": {
                        "start": {
                          "line": 437,
                          "column": 4
                        },
                        "end": {
                          "line": 439,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    15151,
                    15366
                  ],
                  "loc": {
                    "start": {
                      "line": 431,
                      "column": 13
                    },
                    "end": {
                      "line": 440,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  15144,
                  15366
                ],
                "loc": {
                  "start": {
                    "line": 431,
                    "column": 6
                  },
                  "end": {
                    "line": 440,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                15140,
                15366
              ],
              "loc": {
                "start": {
                  "line": 431,
                  "column": 2
                },
                "end": {
                  "line": 440,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Add a JSON API response to the store. This method can be used to handle a\n   * successful GET or POST response from the server.\n   *\n   * @since 0.1.0\n   * @param {Object} root - Top Level Object to push. See:\n                            http://jsonapi.org/format/#document-top-level\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    14803,
                    15137
                  ],
                  "loc": {
                    "start": {
                      "line": 422,
                      "column": 2
                    },
                    "end": {
                      "line": 430,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Remove a resource or collection of resources from the store.\n   *\n   * @since 0.1.0\n   * @param {!string} type - Type of the resource(s) to remove.\n   * @param {string} [id] - The id of the resource to remove. If omitted all\n   *                        resources of the type will be removed.\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    15370,
                    15712
                  ],
                  "loc": {
                    "start": {
                      "line": 442,
                      "column": 2
                    },
                    "end": {
                      "line": 450,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "remove",
                "range": [
                  15715,
                  15721
                ],
                "loc": {
                  "start": {
                    "line": 451,
                    "column": 2
                  },
                  "end": {
                    "line": 451,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      15722,
                      15726
                    ],
                    "loc": {
                      "start": {
                        "line": 451,
                        "column": 9
                      },
                      "end": {
                        "line": 451,
                        "column": 13
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "id",
                    "range": [
                      15728,
                      15730
                    ],
                    "loc": {
                      "start": {
                        "line": 451,
                        "column": 15
                      },
                      "end": {
                        "line": 451,
                        "column": 17
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "Identifier",
                        "name": "type",
                        "range": [
                          15742,
                          15746
                        ],
                        "loc": {
                          "start": {
                            "line": 452,
                            "column": 8
                          },
                          "end": {
                            "line": 452,
                            "column": 12
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "MemberExpression",
                              "computed": true,
                              "object": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    15760,
                                    15764
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 453,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 453,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "_types",
                                  "range": [
                                    15765,
                                    15771
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 453,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 453,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  15760,
                                  15771
                                ],
                                "loc": {
                                  "start": {
                                    "line": 453,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 453,
                                    "column": 21
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  15772,
                                  15776
                                ],
                                "loc": {
                                  "start": {
                                    "line": 453,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 453,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                15760,
                                15777
                              ],
                              "loc": {
                                "start": {
                                  "line": 453,
                                  "column": 10
                                },
                                "end": {
                                  "line": 453,
                                  "column": 27
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "Identifier",
                                    "name": "id",
                                    "range": [
                                      15793,
                                      15795
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 14
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "VariableDeclaration",
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "resource",
                                              "range": [
                                                15813,
                                                15821
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 455,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 455,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "LogicalExpression",
                                              "operator": "&&",
                                              "left": {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      15824,
                                                      15828
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 455,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 455,
                                                        "column": 29
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "_data",
                                                    "range": [
                                                      15829,
                                                      15834
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 455,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 455,
                                                        "column": 35
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    15824,
                                                    15834
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 455,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 455,
                                                      "column": 35
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "type",
                                                  "range": [
                                                    15835,
                                                    15839
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 455,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 455,
                                                      "column": 40
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  15824,
                                                  15840
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 455,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 455,
                                                    "column": 41
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        15844,
                                                        15848
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 455,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 455,
                                                          "column": 49
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_data",
                                                      "range": [
                                                        15849,
                                                        15854
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 455,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 455,
                                                          "column": 55
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      15844,
                                                      15854
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 455,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 455,
                                                        "column": 55
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "type",
                                                    "range": [
                                                      15855,
                                                      15859
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 455,
                                                        "column": 56
                                                      },
                                                      "end": {
                                                        "line": 455,
                                                        "column": 60
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    15844,
                                                    15860
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 455,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 455,
                                                      "column": 61
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "id",
                                                  "range": [
                                                    15861,
                                                    15863
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 455,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 455,
                                                      "column": 64
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  15844,
                                                  15864
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 455,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 455,
                                                    "column": 65
                                                  }
                                                }
                                              },
                                              "range": [
                                                15824,
                                                15864
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 455,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 455,
                                                  "column": 65
                                                }
                                              }
                                            },
                                            "range": [
                                              15813,
                                              15864
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 455,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 455,
                                                "column": 65
                                              }
                                            }
                                          }
                                        ],
                                        "kind": "let",
                                        "range": [
                                          15809,
                                          15865
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 455,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 455,
                                            "column": 66
                                          }
                                        }
                                      },
                                      {
                                        "type": "IfStatement",
                                        "test": {
                                          "type": "Identifier",
                                          "name": "resource",
                                          "range": [
                                            15880,
                                            15888
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 456,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 456,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      15904,
                                                      15908
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 457,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 457,
                                                        "column": 16
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "_remove",
                                                    "range": [
                                                      15909,
                                                      15916
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 457,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 457,
                                                        "column": 24
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    15904,
                                                    15916
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 457,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 457,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "resource",
                                                    "range": [
                                                      15917,
                                                      15925
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 457,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 457,
                                                        "column": 33
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  15904,
                                                  15926
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 457,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 457,
                                                    "column": 34
                                                  }
                                                }
                                              },
                                              "range": [
                                                15904,
                                                15927
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 457,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 457,
                                                  "column": 35
                                                }
                                              }
                                            },
                                            {
                                              "type": "IfStatement",
                                              "test": {
                                                "type": "LogicalExpression",
                                                "operator": "&&",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "range": [
                                                          15944,
                                                          15948
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 458,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 458,
                                                            "column": 20
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "_resourceListeners",
                                                        "range": [
                                                          15949,
                                                          15967
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 458,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 458,
                                                            "column": 39
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        15944,
                                                        15967
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 458,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 458,
                                                          "column": 39
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Literal",
                                                      "value": "removed",
                                                      "raw": "\"removed\"",
                                                      "range": [
                                                        15968,
                                                        15977
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 458,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 458,
                                                          "column": 49
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      15944,
                                                      15978
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 458,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 458,
                                                        "column": 50
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "type",
                                                    "range": [
                                                      15979,
                                                      15983
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 458,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 458,
                                                        "column": 55
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    15944,
                                                    15984
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 458,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 458,
                                                      "column": 56
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": true,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": true,
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "range": [
                                                            15988,
                                                            15992
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 458,
                                                              "column": 60
                                                            },
                                                            "end": {
                                                              "line": 458,
                                                              "column": 64
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "_resourceListeners",
                                                          "range": [
                                                            15993,
                                                            16011
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 458,
                                                              "column": 65
                                                            },
                                                            "end": {
                                                              "line": 458,
                                                              "column": 83
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          15988,
                                                          16011
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 458,
                                                            "column": 60
                                                          },
                                                          "end": {
                                                            "line": 458,
                                                            "column": 83
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Literal",
                                                        "value": "removed",
                                                        "raw": "\"removed\"",
                                                        "range": [
                                                          16012,
                                                          16021
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 458,
                                                            "column": 84
                                                          },
                                                          "end": {
                                                            "line": 458,
                                                            "column": 93
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        15988,
                                                        16022
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 458,
                                                          "column": 60
                                                        },
                                                        "end": {
                                                          "line": 458,
                                                          "column": 94
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "type",
                                                      "range": [
                                                        16023,
                                                        16027
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 458,
                                                          "column": 95
                                                        },
                                                        "end": {
                                                          "line": 458,
                                                          "column": 99
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      15988,
                                                      16028
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 458,
                                                        "column": 60
                                                      },
                                                      "end": {
                                                        "line": 458,
                                                        "column": 100
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "id",
                                                    "range": [
                                                      16029,
                                                      16031
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 458,
                                                        "column": 101
                                                      },
                                                      "end": {
                                                        "line": 458,
                                                        "column": 103
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    15988,
                                                    16032
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 458,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 458,
                                                      "column": 104
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  15944,
                                                  16032
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 458,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 458,
                                                    "column": 104
                                                  }
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "MemberExpression",
                                                          "computed": true,
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "computed": true,
                                                            "object": {
                                                              "type": "MemberExpression",
                                                              "computed": true,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "ThisExpression",
                                                                  "range": [
                                                                    16051,
                                                                    16055
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 459,
                                                                      "column": 15
                                                                    },
                                                                    "end": {
                                                                      "line": 459,
                                                                      "column": 19
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "_resourceListeners",
                                                                  "range": [
                                                                    16056,
                                                                    16074
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 459,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 459,
                                                                      "column": 38
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  16051,
                                                                  16074
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 459,
                                                                    "column": 15
                                                                  },
                                                                  "end": {
                                                                    "line": 459,
                                                                    "column": 38
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Literal",
                                                                "value": "removed",
                                                                "raw": "\"removed\"",
                                                                "range": [
                                                                  16075,
                                                                  16084
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 459,
                                                                    "column": 39
                                                                  },
                                                                  "end": {
                                                                    "line": 459,
                                                                    "column": 48
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                16051,
                                                                16085
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 459,
                                                                  "column": 15
                                                                },
                                                                "end": {
                                                                  "line": 459,
                                                                  "column": 49
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "type",
                                                              "range": [
                                                                16086,
                                                                16090
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 459,
                                                                  "column": 50
                                                                },
                                                                "end": {
                                                                  "line": 459,
                                                                  "column": 54
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              16051,
                                                              16091
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 459,
                                                                "column": 15
                                                              },
                                                              "end": {
                                                                "line": 459,
                                                                "column": 55
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "id",
                                                            "range": [
                                                              16092,
                                                              16094
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 459,
                                                                "column": 56
                                                              },
                                                              "end": {
                                                                "line": 459,
                                                                "column": 58
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            16051,
                                                            16095
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 459,
                                                              "column": 15
                                                            },
                                                            "end": {
                                                              "line": 459,
                                                              "column": 59
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "forEach",
                                                          "range": [
                                                            16096,
                                                            16103
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 459,
                                                              "column": 60
                                                            },
                                                            "end": {
                                                              "line": 459,
                                                              "column": 67
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          16051,
                                                          16103
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 459,
                                                            "column": 15
                                                          },
                                                          "end": {
                                                            "line": 459,
                                                            "column": 67
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "ArrowFunctionExpression",
                                                          "id": null,
                                                          "params": [
                                                            {
                                                              "type": "Identifier",
                                                              "name": "x",
                                                              "range": [
                                                                16104,
                                                                16105
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 459,
                                                                  "column": 68
                                                                },
                                                                "end": {
                                                                  "line": 459,
                                                                  "column": 69
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "body": {
                                                            "type": "CallExpression",
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "x",
                                                                  "range": [
                                                                    16109,
                                                                    16110
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 459,
                                                                      "column": 73
                                                                    },
                                                                    "end": {
                                                                      "line": 459,
                                                                      "column": 74
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Literal",
                                                                  "value": 0,
                                                                  "raw": "0",
                                                                  "range": [
                                                                    16111,
                                                                    16112
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 459,
                                                                      "column": 75
                                                                    },
                                                                    "end": {
                                                                      "line": 459,
                                                                      "column": 76
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  16109,
                                                                  16113
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 459,
                                                                    "column": 73
                                                                  },
                                                                  "end": {
                                                                    "line": 459,
                                                                    "column": 77
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "call",
                                                                "range": [
                                                                  16114,
                                                                  16118
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 459,
                                                                    "column": 78
                                                                  },
                                                                  "end": {
                                                                    "line": 459,
                                                                    "column": 82
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                16109,
                                                                16118
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 459,
                                                                  "column": 73
                                                                },
                                                                "end": {
                                                                  "line": 459,
                                                                  "column": 82
                                                                }
                                                              }
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "x",
                                                                  "range": [
                                                                    16119,
                                                                    16120
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 459,
                                                                      "column": 83
                                                                    },
                                                                    "end": {
                                                                      "line": 459,
                                                                      "column": 84
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Literal",
                                                                  "value": 1,
                                                                  "raw": "1",
                                                                  "range": [
                                                                    16121,
                                                                    16122
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 459,
                                                                      "column": 85
                                                                    },
                                                                    "end": {
                                                                      "line": 459,
                                                                      "column": 86
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  16119,
                                                                  16123
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 459,
                                                                    "column": 83
                                                                  },
                                                                  "end": {
                                                                    "line": 459,
                                                                    "column": 87
                                                                  }
                                                                }
                                                              },
                                                              {
                                                                "type": "Identifier",
                                                                "name": "resource",
                                                                "range": [
                                                                  16125,
                                                                  16133
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 459,
                                                                    "column": 89
                                                                  },
                                                                  "end": {
                                                                    "line": 459,
                                                                    "column": 97
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              16109,
                                                              16134
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 459,
                                                                "column": 73
                                                              },
                                                              "end": {
                                                                "line": 459,
                                                                "column": 98
                                                              }
                                                            }
                                                          },
                                                          "generator": false,
                                                          "expression": true,
                                                          "range": [
                                                            16104,
                                                            16134
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 459,
                                                              "column": 68
                                                            },
                                                            "end": {
                                                              "line": 459,
                                                              "column": 98
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        16051,
                                                        16135
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 459,
                                                          "column": 15
                                                        },
                                                        "end": {
                                                          "line": 459,
                                                          "column": 99
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      16051,
                                                      16136
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 459,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 459,
                                                        "column": 100
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  16034,
                                                  16150
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 458,
                                                    "column": 106
                                                  },
                                                  "end": {
                                                    "line": 460,
                                                    "column": 13
                                                  }
                                                }
                                              },
                                              "alternate": null,
                                              "range": [
                                                15940,
                                                16150
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 458,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 460,
                                                  "column": 13
                                                }
                                              }
                                            },
                                            {
                                              "type": "IfStatement",
                                              "test": {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        16167,
                                                        16171
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 461,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 461,
                                                          "column": 20
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_collectionListeners",
                                                      "range": [
                                                        16172,
                                                        16192
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 461,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 461,
                                                          "column": 41
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      16167,
                                                      16192
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 461,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 461,
                                                        "column": 41
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Literal",
                                                    "value": "removed",
                                                    "raw": "\"removed\"",
                                                    "range": [
                                                      16193,
                                                      16202
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 461,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 461,
                                                        "column": 51
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    16167,
                                                    16203
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 461,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 461,
                                                      "column": 52
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "type",
                                                  "range": [
                                                    16204,
                                                    16208
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 461,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 461,
                                                      "column": 57
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  16167,
                                                  16209
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 461,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 461,
                                                    "column": 58
                                                  }
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "MemberExpression",
                                                          "computed": true,
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "computed": true,
                                                            "object": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "ThisExpression",
                                                                "range": [
                                                                  16227,
                                                                  16231
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 462,
                                                                    "column": 14
                                                                  },
                                                                  "end": {
                                                                    "line": 462,
                                                                    "column": 18
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "_collectionListeners",
                                                                "range": [
                                                                  16232,
                                                                  16252
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 462,
                                                                    "column": 19
                                                                  },
                                                                  "end": {
                                                                    "line": 462,
                                                                    "column": 39
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                16227,
                                                                16252
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 462,
                                                                  "column": 14
                                                                },
                                                                "end": {
                                                                  "line": 462,
                                                                  "column": 39
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Literal",
                                                              "value": "removed",
                                                              "raw": "\"removed\"",
                                                              "range": [
                                                                16253,
                                                                16262
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 462,
                                                                  "column": 40
                                                                },
                                                                "end": {
                                                                  "line": 462,
                                                                  "column": 49
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              16227,
                                                              16263
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 462,
                                                                "column": 14
                                                              },
                                                              "end": {
                                                                "line": 462,
                                                                "column": 50
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "type",
                                                            "range": [
                                                              16264,
                                                              16268
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 462,
                                                                "column": 51
                                                              },
                                                              "end": {
                                                                "line": 462,
                                                                "column": 55
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            16227,
                                                            16269
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 462,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 462,
                                                              "column": 56
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "forEach",
                                                          "range": [
                                                            16270,
                                                            16277
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 462,
                                                              "column": 57
                                                            },
                                                            "end": {
                                                              "line": 462,
                                                              "column": 64
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          16227,
                                                          16277
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 462,
                                                            "column": 14
                                                          },
                                                          "end": {
                                                            "line": 462,
                                                            "column": 64
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "ArrowFunctionExpression",
                                                          "id": null,
                                                          "params": [
                                                            {
                                                              "type": "Identifier",
                                                              "name": "x",
                                                              "range": [
                                                                16278,
                                                                16279
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 462,
                                                                  "column": 65
                                                                },
                                                                "end": {
                                                                  "line": 462,
                                                                  "column": 66
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "body": {
                                                            "type": "CallExpression",
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "x",
                                                                  "range": [
                                                                    16283,
                                                                    16284
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 462,
                                                                      "column": 70
                                                                    },
                                                                    "end": {
                                                                      "line": 462,
                                                                      "column": 71
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Literal",
                                                                  "value": 0,
                                                                  "raw": "0",
                                                                  "range": [
                                                                    16285,
                                                                    16286
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 462,
                                                                      "column": 72
                                                                    },
                                                                    "end": {
                                                                      "line": 462,
                                                                      "column": 73
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  16283,
                                                                  16287
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 462,
                                                                    "column": 70
                                                                  },
                                                                  "end": {
                                                                    "line": 462,
                                                                    "column": 74
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "call",
                                                                "range": [
                                                                  16288,
                                                                  16292
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 462,
                                                                    "column": 75
                                                                  },
                                                                  "end": {
                                                                    "line": 462,
                                                                    "column": 79
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                16283,
                                                                16292
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 462,
                                                                  "column": 70
                                                                },
                                                                "end": {
                                                                  "line": 462,
                                                                  "column": 79
                                                                }
                                                              }
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "x",
                                                                  "range": [
                                                                    16293,
                                                                    16294
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 462,
                                                                      "column": 80
                                                                    },
                                                                    "end": {
                                                                      "line": 462,
                                                                      "column": 81
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Literal",
                                                                  "value": 1,
                                                                  "raw": "1",
                                                                  "range": [
                                                                    16295,
                                                                    16296
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 462,
                                                                      "column": 82
                                                                    },
                                                                    "end": {
                                                                      "line": 462,
                                                                      "column": 83
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  16293,
                                                                  16297
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 462,
                                                                    "column": 80
                                                                  },
                                                                  "end": {
                                                                    "line": 462,
                                                                    "column": 84
                                                                  }
                                                                }
                                                              },
                                                              {
                                                                "type": "Identifier",
                                                                "name": "resource",
                                                                "range": [
                                                                  16299,
                                                                  16307
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 462,
                                                                    "column": 86
                                                                  },
                                                                  "end": {
                                                                    "line": 462,
                                                                    "column": 94
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              16283,
                                                              16308
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 462,
                                                                "column": 70
                                                              },
                                                              "end": {
                                                                "line": 462,
                                                                "column": 95
                                                              }
                                                            }
                                                          },
                                                          "generator": false,
                                                          "expression": true,
                                                          "range": [
                                                            16278,
                                                            16308
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 462,
                                                              "column": 65
                                                            },
                                                            "end": {
                                                              "line": 462,
                                                              "column": 95
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        16227,
                                                        16309
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 462,
                                                          "column": 14
                                                        },
                                                        "end": {
                                                          "line": 462,
                                                          "column": 96
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      16227,
                                                      16310
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 462,
                                                        "column": 14
                                                      },
                                                      "end": {
                                                        "line": 462,
                                                        "column": 97
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  16211,
                                                  16324
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 461,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 463,
                                                    "column": 13
                                                  }
                                                }
                                              },
                                              "alternate": null,
                                              "range": [
                                                16163,
                                                16324
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 461,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 463,
                                                  "column": 13
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            15890,
                                            16336
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 456,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 464,
                                              "column": 11
                                            }
                                          }
                                        },
                                        "alternate": null,
                                        "range": [
                                          15876,
                                          16336
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 456,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 464,
                                            "column": 11
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      15797,
                                      16346
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 465,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "Object",
                                                  "range": [
                                                    16364,
                                                    16370
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 466,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 466,
                                                      "column": 16
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "keys",
                                                  "range": [
                                                    16371,
                                                    16375
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 466,
                                                      "column": 17
                                                    },
                                                    "end": {
                                                      "line": 466,
                                                      "column": 21
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  16364,
                                                  16375
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 466,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 466,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        16376,
                                                        16380
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 466,
                                                          "column": 22
                                                        },
                                                        "end": {
                                                          "line": 466,
                                                          "column": 26
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_data",
                                                      "range": [
                                                        16381,
                                                        16386
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 466,
                                                          "column": 27
                                                        },
                                                        "end": {
                                                          "line": 466,
                                                          "column": 32
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      16376,
                                                      16386
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 466,
                                                        "column": 22
                                                      },
                                                      "end": {
                                                        "line": 466,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "type",
                                                    "range": [
                                                      16387,
                                                      16391
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 466,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 466,
                                                        "column": 37
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    16376,
                                                    16392
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 466,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 466,
                                                      "column": 38
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                16364,
                                                16393
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 466,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 466,
                                                  "column": 39
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "forEach",
                                              "range": [
                                                16394,
                                                16401
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 466,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 466,
                                                  "column": 47
                                                }
                                              }
                                            },
                                            "range": [
                                              16364,
                                              16401
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 466,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 466,
                                                "column": 47
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "id": null,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "id",
                                                  "range": [
                                                    16402,
                                                    16404
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 466,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 466,
                                                      "column": 50
                                                    }
                                                  }
                                                }
                                              ],
                                              "body": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      16408,
                                                      16412
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 466,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 466,
                                                        "column": 58
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "remove",
                                                    "range": [
                                                      16413,
                                                      16419
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 466,
                                                        "column": 59
                                                      },
                                                      "end": {
                                                        "line": 466,
                                                        "column": 65
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    16408,
                                                    16419
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 466,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 466,
                                                      "column": 65
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "type",
                                                    "range": [
                                                      16420,
                                                      16424
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 466,
                                                        "column": 66
                                                      },
                                                      "end": {
                                                        "line": 466,
                                                        "column": 70
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "name": "id",
                                                    "range": [
                                                      16426,
                                                      16428
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 466,
                                                        "column": 72
                                                      },
                                                      "end": {
                                                        "line": 466,
                                                        "column": 74
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  16408,
                                                  16429
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 466,
                                                    "column": 54
                                                  },
                                                  "end": {
                                                    "line": 466,
                                                    "column": 75
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": true,
                                              "range": [
                                                16402,
                                                16429
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 466,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 466,
                                                  "column": 75
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            16364,
                                            16430
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 466,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 466,
                                              "column": 76
                                            }
                                          }
                                        },
                                        "range": [
                                          16364,
                                          16431
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 466,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 466,
                                            "column": 77
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      16352,
                                      16441
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 465,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 467,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    15789,
                                    16441
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 454,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 467,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                15779,
                                16449
                              ],
                              "loc": {
                                "start": {
                                  "line": 453,
                                  "column": 29
                                },
                                "end": {
                                  "line": 468,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ThrowStatement",
                                  "argument": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "TypeError",
                                      "range": [
                                        16475,
                                        16484
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 469,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 469,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "TemplateLiteral",
                                        "quasis": [
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "Unknown type '",
                                              "cooked": "Unknown type '"
                                            },
                                            "tail": false,
                                            "range": [
                                              16485,
                                              16502
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 469,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 469,
                                                "column": 45
                                              }
                                            }
                                          },
                                          {
                                            "type": "TemplateElement",
                                            "value": {
                                              "raw": "'",
                                              "cooked": "'"
                                            },
                                            "tail": true,
                                            "range": [
                                              16506,
                                              16509
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 469,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 469,
                                                "column": 52
                                              }
                                            }
                                          }
                                        ],
                                        "expressions": [
                                          {
                                            "type": "Identifier",
                                            "name": "type",
                                            "range": [
                                              16502,
                                              16506
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 469,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 469,
                                                "column": 49
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          16485,
                                          16509
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 469,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 469,
                                            "column": 52
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      16471,
                                      16510
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 469,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 469,
                                        "column": 53
                                      }
                                    }
                                  },
                                  "range": [
                                    16465,
                                    16511
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 469,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 469,
                                      "column": 54
                                    }
                                  }
                                }
                              ],
                              "range": [
                                16455,
                                16519
                              ],
                              "loc": {
                                "start": {
                                  "line": 468,
                                  "column": 13
                                },
                                "end": {
                                  "line": 470,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              15756,
                              16519
                            ],
                            "loc": {
                              "start": {
                                "line": 453,
                                "column": 6
                              },
                              "end": {
                                "line": 470,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          15748,
                          16525
                        ],
                        "loc": {
                          "start": {
                            "line": 452,
                            "column": 14
                          },
                          "end": {
                            "line": 471,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "TypeError",
                                "range": [
                                  16549,
                                  16558
                                ],
                                "loc": {
                                  "start": {
                                    "line": 472,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 472,
                                    "column": 25
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "TemplateLiteral",
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "You must provide a type to remove",
                                        "cooked": "You must provide a type to remove"
                                      },
                                      "tail": true,
                                      "range": [
                                        16559,
                                        16594
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 472,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 472,
                                          "column": 61
                                        }
                                      }
                                    }
                                  ],
                                  "expressions": [],
                                  "range": [
                                    16559,
                                    16594
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 472,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 472,
                                      "column": 61
                                    }
                                  }
                                }
                              ],
                              "range": [
                                16545,
                                16595
                              ],
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 12
                                },
                                "end": {
                                  "line": 472,
                                  "column": 62
                                }
                              }
                            },
                            "range": [
                              16539,
                              16596
                            ],
                            "loc": {
                              "start": {
                                "line": 472,
                                "column": 6
                              },
                              "end": {
                                "line": 472,
                                "column": 63
                              }
                            }
                          }
                        ],
                        "range": [
                          16531,
                          16602
                        ],
                        "loc": {
                          "start": {
                            "line": 471,
                            "column": 11
                          },
                          "end": {
                            "line": 473,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        15738,
                        16602
                      ],
                      "loc": {
                        "start": {
                          "line": 452,
                          "column": 4
                        },
                        "end": {
                          "line": 473,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    15732,
                    16606
                  ],
                  "loc": {
                    "start": {
                      "line": 451,
                      "column": 19
                    },
                    "end": {
                      "line": 474,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  15721,
                  16606
                ],
                "loc": {
                  "start": {
                    "line": 451,
                    "column": 8
                  },
                  "end": {
                    "line": 474,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                15715,
                16606
              ],
              "loc": {
                "start": {
                  "line": 451,
                  "column": 2
                },
                "end": {
                  "line": 474,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Remove a resource or collection of resources from the store.\n   *\n   * @since 0.1.0\n   * @param {!string} type - Type of the resource(s) to remove.\n   * @param {string} [id] - The id of the resource to remove. If omitted all\n   *                        resources of the type will be removed.\n   * @return {undefined} - Nothing.\n   ",
                  "range": [
                    15370,
                    15712
                  ],
                  "loc": {
                    "start": {
                      "line": 442,
                      "column": 2
                    },
                    "end": {
                      "line": 450,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Attempts to update the resource through the adapter and updates it in  the\n   * store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} id - ID of resource.\n   * @param {!Object} partial - Data to update the resource with.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n   *   console.log(product.title);\n   * });\n   ",
                  "range": [
                    16610,
                    17319
                  ],
                  "loc": {
                    "start": {
                      "line": 476,
                      "column": 2
                    },
                    "end": {
                      "line": 495,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "update",
                "range": [
                  17322,
                  17328
                ],
                "loc": {
                  "start": {
                    "line": 496,
                    "column": 2
                  },
                  "end": {
                    "line": 496,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "type",
                    "range": [
                      17329,
                      17333
                    ],
                    "loc": {
                      "start": {
                        "line": 496,
                        "column": 9
                      },
                      "end": {
                        "line": 496,
                        "column": 13
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "id",
                    "range": [
                      17335,
                      17337
                    ],
                    "loc": {
                      "start": {
                        "line": 496,
                        "column": 15
                      },
                      "end": {
                        "line": 496,
                        "column": 17
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "partial",
                    "range": [
                      17339,
                      17346
                    ],
                    "loc": {
                      "start": {
                        "line": 496,
                        "column": 19
                      },
                      "end": {
                        "line": 496,
                        "column": 26
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "success",
                    "range": [
                      17348,
                      17355
                    ],
                    "loc": {
                      "start": {
                        "line": 496,
                        "column": 28
                      },
                      "end": {
                        "line": 496,
                        "column": 35
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "error",
                    "range": [
                      17357,
                      17362
                    ],
                    "loc": {
                      "start": {
                        "line": 496,
                        "column": 37
                      },
                      "end": {
                        "line": 496,
                        "column": 42
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "context",
                    "range": [
                      17364,
                      17371
                    ],
                    "loc": {
                      "start": {
                        "line": 496,
                        "column": 44
                      },
                      "end": {
                        "line": 496,
                        "column": 51
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            17383,
                            17387
                          ],
                          "loc": {
                            "start": {
                              "line": 497,
                              "column": 8
                            },
                            "end": {
                              "line": 497,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_adapter",
                          "range": [
                            17388,
                            17396
                          ],
                          "loc": {
                            "start": {
                              "line": 497,
                              "column": 13
                            },
                            "end": {
                              "line": 497,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          17383,
                          17396
                        ],
                        "loc": {
                          "start": {
                            "line": 497,
                            "column": 8
                          },
                          "end": {
                            "line": 497,
                            "column": 21
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      17406,
                                      17410
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 498,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 498,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_adapter",
                                    "range": [
                                      17411,
                                      17419
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 498,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 498,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "range": [
                                    17406,
                                    17419
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "update",
                                  "range": [
                                    17420,
                                    17426
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  17406,
                                  17426
                                ],
                                "loc": {
                                  "start": {
                                    "line": 498,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 498,
                                    "column": 26
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    17427,
                                    17431
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 31
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    17433,
                                    17437
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 37
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "id",
                                  "range": [
                                    17439,
                                    17441
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 41
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "partial",
                                  "range": [
                                    17443,
                                    17450
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 50
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "success",
                                  "range": [
                                    17452,
                                    17459
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 59
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "error",
                                  "range": [
                                    17461,
                                    17466
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 66
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "context",
                                  "range": [
                                    17468,
                                    17475
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 498,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 498,
                                      "column": 75
                                    }
                                  }
                                }
                              ],
                              "range": [
                                17406,
                                17476
                              ],
                              "loc": {
                                "start": {
                                  "line": 498,
                                  "column": 6
                                },
                                "end": {
                                  "line": 498,
                                  "column": 76
                                }
                              }
                            },
                            "range": [
                              17406,
                              17477
                            ],
                            "loc": {
                              "start": {
                                "line": 498,
                                "column": 6
                              },
                              "end": {
                                "line": 498,
                                "column": 77
                              }
                            }
                          }
                        ],
                        "range": [
                          17398,
                          17483
                        ],
                        "loc": {
                          "start": {
                            "line": 497,
                            "column": 23
                          },
                          "end": {
                            "line": 499,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  17507,
                                  17512
                                ],
                                "loc": {
                                  "start": {
                                    "line": 500,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 500,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
                                  "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
                                  "range": [
                                    17513,
                                    17609
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 500,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 500,
                                      "column": 118
                                    }
                                  }
                                }
                              ],
                              "range": [
                                17503,
                                17610
                              ],
                              "loc": {
                                "start": {
                                  "line": 500,
                                  "column": 12
                                },
                                "end": {
                                  "line": 500,
                                  "column": 119
                                }
                              }
                            },
                            "range": [
                              17497,
                              17611
                            ],
                            "loc": {
                              "start": {
                                "line": 500,
                                "column": 6
                              },
                              "end": {
                                "line": 500,
                                "column": 120
                              }
                            }
                          }
                        ],
                        "range": [
                          17489,
                          17617
                        ],
                        "loc": {
                          "start": {
                            "line": 499,
                            "column": 11
                          },
                          "end": {
                            "line": 501,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        17379,
                        17617
                      ],
                      "loc": {
                        "start": {
                          "line": 497,
                          "column": 4
                        },
                        "end": {
                          "line": 501,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    17373,
                    17621
                  ],
                  "loc": {
                    "start": {
                      "line": 496,
                      "column": 53
                    },
                    "end": {
                      "line": 502,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  17328,
                  17621
                ],
                "loc": {
                  "start": {
                    "line": 496,
                    "column": 8
                  },
                  "end": {
                    "line": 502,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                17322,
                17621
              ],
              "loc": {
                "start": {
                  "line": 496,
                  "column": 2
                },
                "end": {
                  "line": 502,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n   * Attempts to update the resource through the adapter and updates it in  the\n   * store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} id - ID of resource.\n   * @param {!Object} partial - Data to update the resource with.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n   *   console.log(product.title);\n   * });\n   ",
                  "range": [
                    16610,
                    17319
                  ],
                  "loc": {
                    "start": {
                      "line": 476,
                      "column": 2
                    },
                    "end": {
                      "line": 495,
                      "column": 5
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "_addField",
                "range": [
                  17625,
                  17634
                ],
                "loc": {
                  "start": {
                    "line": 504,
                    "column": 2
                  },
                  "end": {
                    "line": 504,
                    "column": 11
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "object",
                    "range": [
                      17635,
                      17641
                    ],
                    "loc": {
                      "start": {
                        "line": 504,
                        "column": 12
                      },
                      "end": {
                        "line": 504,
                        "column": 18
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "resource",
                    "range": [
                      17643,
                      17651
                    ],
                    "loc": {
                      "start": {
                        "line": 504,
                        "column": 20
                      },
                      "end": {
                        "line": 504,
                        "column": 28
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "definition",
                    "range": [
                      17653,
                      17663
                    ],
                    "loc": {
                      "start": {
                        "line": 504,
                        "column": 30
                      },
                      "end": {
                        "line": 504,
                        "column": 40
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "fieldName",
                    "range": [
                      17665,
                      17674
                    ],
                    "loc": {
                      "start": {
                        "line": 504,
                        "column": 42
                      },
                      "end": {
                        "line": 504,
                        "column": 51
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "field",
                            "range": [
                              17686,
                              17691
                            ],
                            "loc": {
                              "start": {
                                "line": 505,
                                "column": 8
                              },
                              "end": {
                                "line": 505,
                                "column": 13
                              }
                            }
                          },
                          "init": {
                            "type": "MemberExpression",
                            "computed": true,
                            "object": {
                              "type": "Identifier",
                              "name": "definition",
                              "range": [
                                17694,
                                17704
                              ],
                              "loc": {
                                "start": {
                                  "line": 505,
                                  "column": 16
                                },
                                "end": {
                                  "line": 505,
                                  "column": 26
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "fieldName",
                              "range": [
                                17705,
                                17714
                              ],
                              "loc": {
                                "start": {
                                  "line": 505,
                                  "column": 27
                                },
                                "end": {
                                  "line": 505,
                                  "column": 36
                                }
                              }
                            },
                            "range": [
                              17694,
                              17715
                            ],
                            "loc": {
                              "start": {
                                "line": 505,
                                "column": 16
                              },
                              "end": {
                                "line": 505,
                                "column": 37
                              }
                            }
                          },
                          "range": [
                            17686,
                            17715
                          ],
                          "loc": {
                            "start": {
                              "line": 505,
                              "column": 8
                            },
                            "end": {
                              "line": 505,
                              "column": 37
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "range": [
                        17682,
                        17716
                      ],
                      "loc": {
                        "start": {
                          "line": 505,
                          "column": 4
                        },
                        "end": {
                          "line": 505,
                          "column": 38
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "newValue",
                            "range": [
                              17725,
                              17733
                            ],
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 8
                              },
                              "end": {
                                "line": 506,
                                "column": 16
                              }
                            }
                          },
                          "init": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "field",
                                  "range": [
                                    17736,
                                    17741
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 506,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 506,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "deserialize",
                                  "range": [
                                    17742,
                                    17753
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 506,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 506,
                                      "column": 36
                                    }
                                  }
                                },
                                "range": [
                                  17736,
                                  17753
                                ],
                                "loc": {
                                  "start": {
                                    "line": 506,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 506,
                                    "column": 36
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  17754,
                                  17758
                                ],
                                "loc": {
                                  "start": {
                                    "line": 506,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 506,
                                    "column": 41
                                  }
                                }
                              },
                              "range": [
                                17736,
                                17758
                              ],
                              "loc": {
                                "start": {
                                  "line": 506,
                                  "column": 19
                                },
                                "end": {
                                  "line": 506,
                                  "column": 41
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  17759,
                                  17763
                                ],
                                "loc": {
                                  "start": {
                                    "line": 506,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 506,
                                    "column": 46
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "object",
                                "range": [
                                  17765,
                                  17771
                                ],
                                "loc": {
                                  "start": {
                                    "line": 506,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 506,
                                    "column": 54
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "fieldName",
                                "range": [
                                  17773,
                                  17782
                                ],
                                "loc": {
                                  "start": {
                                    "line": 506,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 506,
                                    "column": 65
                                  }
                                }
                              }
                            ],
                            "range": [
                              17736,
                              17783
                            ],
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 19
                              },
                              "end": {
                                "line": 506,
                                "column": 66
                              }
                            }
                          },
                          "range": [
                            17725,
                            17783
                          ],
                          "loc": {
                            "start": {
                              "line": 506,
                              "column": 8
                            },
                            "end": {
                              "line": 506,
                              "column": 66
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "range": [
                        17721,
                        17784
                      ],
                      "loc": {
                        "start": {
                          "line": 506,
                          "column": 4
                        },
                        "end": {
                          "line": 506,
                          "column": 67
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "!==",
                        "left": {
                          "type": "UnaryExpression",
                          "operator": "typeof",
                          "argument": {
                            "type": "Identifier",
                            "name": "newValue",
                            "range": [
                              17800,
                              17808
                            ],
                            "loc": {
                              "start": {
                                "line": 507,
                                "column": 15
                              },
                              "end": {
                                "line": 507,
                                "column": 23
                              }
                            }
                          },
                          "prefix": true,
                          "range": [
                            17793,
                            17808
                          ],
                          "loc": {
                            "start": {
                              "line": 507,
                              "column": 8
                            },
                            "end": {
                              "line": 507,
                              "column": 23
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": "undefined",
                          "raw": "\"undefined\"",
                          "range": [
                            17813,
                            17824
                          ],
                          "loc": {
                            "start": {
                              "line": 507,
                              "column": 28
                            },
                            "end": {
                              "line": 507,
                              "column": 39
                            }
                          }
                        },
                        "range": [
                          17793,
                          17824
                        ],
                        "loc": {
                          "start": {
                            "line": 507,
                            "column": 8
                          },
                          "end": {
                            "line": 507,
                            "column": 39
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "===",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "field",
                                  "range": [
                                    17838,
                                    17843
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 508,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 508,
                                      "column": 15
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    17844,
                                    17848
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 508,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 508,
                                      "column": 20
                                    }
                                  }
                                },
                                "range": [
                                  17838,
                                  17848
                                ],
                                "loc": {
                                  "start": {
                                    "line": 508,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 508,
                                    "column": 20
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": "has-one",
                                "raw": "\"has-one\"",
                                "range": [
                                  17853,
                                  17862
                                ],
                                "loc": {
                                  "start": {
                                    "line": 508,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 508,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                17838,
                                17862
                              ],
                              "loc": {
                                "start": {
                                  "line": 508,
                                  "column": 10
                                },
                                "end": {
                                  "line": 508,
                                  "column": 34
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "MemberExpression",
                                    "computed": true,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resource",
                                      "range": [
                                        17878,
                                        17886
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "fieldName",
                                      "range": [
                                        17887,
                                        17896
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      17878,
                                      17897
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                17911,
                                                17915
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 510,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 510,
                                                  "column": 14
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "_removeInverseRelationship",
                                              "range": [
                                                17916,
                                                17942
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 510,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 510,
                                                  "column": 41
                                                }
                                              }
                                            },
                                            "range": [
                                              17911,
                                              17942
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 510,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 510,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "resource",
                                              "range": [
                                                17943,
                                                17951
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 510,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 510,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "fieldName",
                                              "range": [
                                                17953,
                                                17962
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 510,
                                                  "column": 52
                                                },
                                                "end": {
                                                  "line": 510,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "resource",
                                                "range": [
                                                  17964,
                                                  17972
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 510,
                                                    "column": 63
                                                  },
                                                  "end": {
                                                    "line": 510,
                                                    "column": 71
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "fieldName",
                                                "range": [
                                                  17973,
                                                  17982
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 510,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 510,
                                                    "column": 81
                                                  }
                                                }
                                              },
                                              "range": [
                                                17964,
                                                17983
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 510,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 510,
                                                  "column": 82
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "field",
                                              "range": [
                                                17985,
                                                17990
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 510,
                                                  "column": 84
                                                },
                                                "end": {
                                                  "line": 510,
                                                  "column": 89
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            17911,
                                            17991
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 510,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 510,
                                              "column": 90
                                            }
                                          }
                                        },
                                        "range": [
                                          17911,
                                          17992
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 510,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 510,
                                            "column": 91
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      17899,
                                      18002
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 511,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    17874,
                                    18002
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 511,
                                      "column": 9
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "Identifier",
                                    "name": "newValue",
                                    "range": [
                                      18015,
                                      18023
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 512,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 512,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                18037,
                                                18041
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 513,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 513,
                                                  "column": 14
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "_addInverseRelationship",
                                              "range": [
                                                18042,
                                                18065
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 513,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 513,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "range": [
                                              18037,
                                              18065
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 513,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 513,
                                                "column": 38
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "resource",
                                              "range": [
                                                18066,
                                                18074
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 513,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 513,
                                                  "column": 47
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "fieldName",
                                              "range": [
                                                18076,
                                                18085
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 513,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 513,
                                                  "column": 58
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "newValue",
                                              "range": [
                                                18087,
                                                18095
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 513,
                                                  "column": 60
                                                },
                                                "end": {
                                                  "line": 513,
                                                  "column": 68
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "field",
                                              "range": [
                                                18097,
                                                18102
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 513,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 513,
                                                  "column": 75
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            18037,
                                            18103
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 513,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 513,
                                              "column": 76
                                            }
                                          }
                                        },
                                        "range": [
                                          18037,
                                          18104
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 513,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 513,
                                            "column": 77
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      18025,
                                      18114
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 512,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 514,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    18011,
                                    18114
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 512,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 514,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                17864,
                                18122
                              ],
                              "loc": {
                                "start": {
                                  "line": 508,
                                  "column": 36
                                },
                                "end": {
                                  "line": 515,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "test": {
                                "type": "BinaryExpression",
                                "operator": "===",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "field",
                                    "range": [
                                      18132,
                                      18137
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 515,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 515,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      18138,
                                      18142
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 515,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 515,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "range": [
                                    18132,
                                    18142
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 515,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 515,
                                      "column": 27
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": "has-many",
                                  "raw": "\"has-many\"",
                                  "range": [
                                    18147,
                                    18157
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 515,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 515,
                                      "column": 42
                                    }
                                  }
                                },
                                "range": [
                                  18132,
                                  18157
                                ],
                                "loc": {
                                  "start": {
                                    "line": 515,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 515,
                                    "column": 42
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "resource",
                                            "range": [
                                              18169,
                                              18177
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 516,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 516,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "fieldName",
                                            "range": [
                                              18178,
                                              18187
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 516,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 516,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "range": [
                                            18169,
                                            18188
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 516,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 516,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "forEach",
                                          "range": [
                                            18189,
                                            18196
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 516,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 516,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "range": [
                                          18169,
                                          18196
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 516,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 516,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ArrowFunctionExpression",
                                          "id": null,
                                          "params": [
                                            {
                                              "type": "Identifier",
                                              "name": "r",
                                              "range": [
                                                18197,
                                                18198
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 516,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 516,
                                                  "column": 37
                                                }
                                              }
                                            }
                                          ],
                                          "body": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "IfStatement",
                                                "test": {
                                                  "type": "BinaryExpression",
                                                  "operator": "!==",
                                                  "left": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "computed": true,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "resource",
                                                          "range": [
                                                            18218,
                                                            18226
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 517,
                                                              "column": 14
                                                            },
                                                            "end": {
                                                              "line": 517,
                                                              "column": 22
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "fieldName",
                                                          "range": [
                                                            18227,
                                                            18236
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 517,
                                                              "column": 23
                                                            },
                                                            "end": {
                                                              "line": 517,
                                                              "column": 32
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          18218,
                                                          18237
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 517,
                                                            "column": 14
                                                          },
                                                          "end": {
                                                            "line": 517,
                                                            "column": 33
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "indexOf",
                                                        "range": [
                                                          18238,
                                                          18245
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 517,
                                                            "column": 34
                                                          },
                                                          "end": {
                                                            "line": 517,
                                                            "column": 41
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        18218,
                                                        18245
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 517,
                                                          "column": 14
                                                        },
                                                        "end": {
                                                          "line": 517,
                                                          "column": 41
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "r",
                                                        "range": [
                                                          18246,
                                                          18247
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 517,
                                                            "column": 42
                                                          },
                                                          "end": {
                                                            "line": 517,
                                                            "column": 43
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      18218,
                                                      18248
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 517,
                                                        "column": 14
                                                      },
                                                      "end": {
                                                        "line": 517,
                                                        "column": 44
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "UnaryExpression",
                                                    "operator": "-",
                                                    "argument": {
                                                      "type": "Literal",
                                                      "value": 1,
                                                      "raw": "1",
                                                      "range": [
                                                        18254,
                                                        18255
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 517,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 517,
                                                          "column": 51
                                                        }
                                                      }
                                                    },
                                                    "prefix": true,
                                                    "range": [
                                                      18253,
                                                      18255
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 517,
                                                        "column": 49
                                                      },
                                                      "end": {
                                                        "line": 517,
                                                        "column": 51
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    18218,
                                                    18255
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 517,
                                                      "column": 14
                                                    },
                                                    "end": {
                                                      "line": 517,
                                                      "column": 51
                                                    }
                                                  }
                                                },
                                                "consequent": {
                                                  "type": "BlockStatement",
                                                  "body": [
                                                    {
                                                      "type": "ExpressionStatement",
                                                      "expression": {
                                                        "type": "CallExpression",
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "ThisExpression",
                                                            "range": [
                                                              18271,
                                                              18275
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 518,
                                                                "column": 12
                                                              },
                                                              "end": {
                                                                "line": 518,
                                                                "column": 16
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "_removeInverseRelationship",
                                                            "range": [
                                                              18276,
                                                              18302
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 518,
                                                                "column": 17
                                                              },
                                                              "end": {
                                                                "line": 518,
                                                                "column": 43
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            18271,
                                                            18302
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 518,
                                                              "column": 12
                                                            },
                                                            "end": {
                                                              "line": 518,
                                                              "column": 43
                                                            }
                                                          }
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "Identifier",
                                                            "name": "resource",
                                                            "range": [
                                                              18303,
                                                              18311
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 518,
                                                                "column": 44
                                                              },
                                                              "end": {
                                                                "line": 518,
                                                                "column": 52
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "type": "Identifier",
                                                            "name": "fieldName",
                                                            "range": [
                                                              18313,
                                                              18322
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 518,
                                                                "column": 54
                                                              },
                                                              "end": {
                                                                "line": 518,
                                                                "column": 63
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "type": "Identifier",
                                                            "name": "r",
                                                            "range": [
                                                              18324,
                                                              18325
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 518,
                                                                "column": 65
                                                              },
                                                              "end": {
                                                                "line": 518,
                                                                "column": 66
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "type": "Identifier",
                                                            "name": "field",
                                                            "range": [
                                                              18327,
                                                              18332
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 518,
                                                                "column": 68
                                                              },
                                                              "end": {
                                                                "line": 518,
                                                                "column": 73
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          18271,
                                                          18333
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 518,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 518,
                                                            "column": 74
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        18271,
                                                        18334
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 518,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 518,
                                                          "column": 75
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    18257,
                                                    18346
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 517,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 519,
                                                      "column": 11
                                                    }
                                                  }
                                                },
                                                "alternate": null,
                                                "range": [
                                                  18214,
                                                  18346
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 517,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 519,
                                                    "column": 11
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              18202,
                                              18356
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 516,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 520,
                                                "column": 9
                                              }
                                            }
                                          },
                                          "generator": false,
                                          "expression": false,
                                          "range": [
                                            18197,
                                            18356
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 516,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 520,
                                              "column": 9
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        18169,
                                        18357
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 516,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 520,
                                          "column": 10
                                        }
                                      }
                                    },
                                    "range": [
                                      18169,
                                      18358
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 516,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 520,
                                        "column": 11
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "newValue",
                                          "range": [
                                            18367,
                                            18375
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 521,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 521,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "forEach",
                                          "range": [
                                            18376,
                                            18383
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 521,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 521,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "range": [
                                          18367,
                                          18383
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 521,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 521,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ArrowFunctionExpression",
                                          "id": null,
                                          "params": [
                                            {
                                              "type": "Identifier",
                                              "name": "r",
                                              "range": [
                                                18384,
                                                18385
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 521,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 521,
                                                  "column": 26
                                                }
                                              }
                                            }
                                          ],
                                          "body": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        18401,
                                                        18405
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 522,
                                                          "column": 10
                                                        },
                                                        "end": {
                                                          "line": 522,
                                                          "column": 14
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_addInverseRelationship",
                                                      "range": [
                                                        18406,
                                                        18429
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 522,
                                                          "column": 15
                                                        },
                                                        "end": {
                                                          "line": 522,
                                                          "column": 38
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      18401,
                                                      18429
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 522,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 522,
                                                        "column": 38
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "resource",
                                                      "range": [
                                                        18430,
                                                        18438
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 522,
                                                          "column": 39
                                                        },
                                                        "end": {
                                                          "line": 522,
                                                          "column": 47
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "name": "fieldName",
                                                      "range": [
                                                        18440,
                                                        18449
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 522,
                                                          "column": 49
                                                        },
                                                        "end": {
                                                          "line": 522,
                                                          "column": 58
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "name": "r",
                                                      "range": [
                                                        18451,
                                                        18452
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 522,
                                                          "column": 60
                                                        },
                                                        "end": {
                                                          "line": 522,
                                                          "column": 61
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "name": "field",
                                                      "range": [
                                                        18454,
                                                        18459
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 522,
                                                          "column": 63
                                                        },
                                                        "end": {
                                                          "line": 522,
                                                          "column": 68
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    18401,
                                                    18460
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 522,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 522,
                                                      "column": 69
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  18401,
                                                  18461
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 522,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 522,
                                                    "column": 70
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              18389,
                                              18471
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 521,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 523,
                                                "column": 9
                                              }
                                            }
                                          },
                                          "generator": false,
                                          "expression": false,
                                          "range": [
                                            18384,
                                            18471
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 521,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 523,
                                              "column": 9
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        18367,
                                        18472
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 521,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 523,
                                          "column": 10
                                        }
                                      }
                                    },
                                    "range": [
                                      18367,
                                      18473
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 521,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 523,
                                        "column": 11
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  18159,
                                  18481
                                ],
                                "loc": {
                                  "start": {
                                    "line": 515,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 524,
                                    "column": 7
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                18128,
                                18481
                              ],
                              "loc": {
                                "start": {
                                  "line": 515,
                                  "column": 13
                                },
                                "end": {
                                  "line": 524,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              17834,
                              18481
                            ],
                            "loc": {
                              "start": {
                                "line": 508,
                                "column": 6
                              },
                              "end": {
                                "line": 524,
                                "column": 7
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "resource",
                                  "range": [
                                    18488,
                                    18496
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 525,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 525,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "fieldName",
                                  "range": [
                                    18497,
                                    18506
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 525,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 525,
                                      "column": 24
                                    }
                                  }
                                },
                                "range": [
                                  18488,
                                  18507
                                ],
                                "loc": {
                                  "start": {
                                    "line": 525,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 525,
                                    "column": 25
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "newValue",
                                "range": [
                                  18510,
                                  18518
                                ],
                                "loc": {
                                  "start": {
                                    "line": 525,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 525,
                                    "column": 36
                                  }
                                }
                              },
                              "range": [
                                18488,
                                18518
                              ],
                              "loc": {
                                "start": {
                                  "line": 525,
                                  "column": 6
                                },
                                "end": {
                                  "line": 525,
                                  "column": 36
                                }
                              }
                            },
                            "range": [
                              18488,
                              18519
                            ],
                            "loc": {
                              "start": {
                                "line": 525,
                                "column": 6
                              },
                              "end": {
                                "line": 525,
                                "column": 37
                              }
                            }
                          }
                        ],
                        "range": [
                          17826,
                          18525
                        ],
                        "loc": {
                          "start": {
                            "line": 507,
                            "column": 41
                          },
                          "end": {
                            "line": 526,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        17789,
                        18525
                      ],
                      "loc": {
                        "start": {
                          "line": 507,
                          "column": 4
                        },
                        "end": {
                          "line": 526,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    17676,
                    18529
                  ],
                  "loc": {
                    "start": {
                      "line": 504,
                      "column": 53
                    },
                    "end": {
                      "line": 527,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  17634,
                  18529
                ],
                "loc": {
                  "start": {
                    "line": 504,
                    "column": 11
                  },
                  "end": {
                    "line": 527,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                17625,
                18529
              ],
              "loc": {
                "start": {
                  "line": 504,
                  "column": 2
                },
                "end": {
                  "line": 527,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "_addInverseRelationship",
                "range": [
                  18533,
                  18556
                ],
                "loc": {
                  "start": {
                    "line": 529,
                    "column": 2
                  },
                  "end": {
                    "line": 529,
                    "column": 25
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "sourceResource",
                    "range": [
                      18557,
                      18571
                    ],
                    "loc": {
                      "start": {
                        "line": 529,
                        "column": 26
                      },
                      "end": {
                        "line": 529,
                        "column": 40
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "sourceFieldName",
                    "range": [
                      18573,
                      18588
                    ],
                    "loc": {
                      "start": {
                        "line": 529,
                        "column": 42
                      },
                      "end": {
                        "line": 529,
                        "column": 57
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "targetResource",
                    "range": [
                      18590,
                      18604
                    ],
                    "loc": {
                      "start": {
                        "line": 529,
                        "column": 59
                      },
                      "end": {
                        "line": 529,
                        "column": 73
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "sourceField",
                    "range": [
                      18606,
                      18617
                    ],
                    "loc": {
                      "start": {
                        "line": 529,
                        "column": 75
                      },
                      "end": {
                        "line": 529,
                        "column": 86
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "targetDefinition",
                            "range": [
                              18629,
                              18645
                            ],
                            "loc": {
                              "start": {
                                "line": 530,
                                "column": 8
                              },
                              "end": {
                                "line": 530,
                                "column": 24
                              }
                            }
                          },
                          "init": {
                            "type": "MemberExpression",
                            "computed": true,
                            "object": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  18648,
                                  18652
                                ],
                                "loc": {
                                  "start": {
                                    "line": 530,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 530,
                                    "column": 31
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_types",
                                "range": [
                                  18653,
                                  18659
                                ],
                                "loc": {
                                  "start": {
                                    "line": 530,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 530,
                                    "column": 38
                                  }
                                }
                              },
                              "range": [
                                18648,
                                18659
                              ],
                              "loc": {
                                "start": {
                                  "line": 530,
                                  "column": 27
                                },
                                "end": {
                                  "line": 530,
                                  "column": 38
                                }
                              }
                            },
                            "property": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "targetResource",
                                "range": [
                                  18660,
                                  18674
                                ],
                                "loc": {
                                  "start": {
                                    "line": 530,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 530,
                                    "column": 53
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  18675,
                                  18679
                                ],
                                "loc": {
                                  "start": {
                                    "line": 530,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 530,
                                    "column": 58
                                  }
                                }
                              },
                              "range": [
                                18660,
                                18679
                              ],
                              "loc": {
                                "start": {
                                  "line": 530,
                                  "column": 39
                                },
                                "end": {
                                  "line": 530,
                                  "column": 58
                                }
                              }
                            },
                            "range": [
                              18648,
                              18680
                            ],
                            "loc": {
                              "start": {
                                "line": 530,
                                "column": 27
                              },
                              "end": {
                                "line": 530,
                                "column": 59
                              }
                            }
                          },
                          "range": [
                            18629,
                            18680
                          ],
                          "loc": {
                            "start": {
                              "line": 530,
                              "column": 8
                            },
                            "end": {
                              "line": 530,
                              "column": 59
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "range": [
                        18625,
                        18681
                      ],
                      "loc": {
                        "start": {
                          "line": 530,
                          "column": 4
                        },
                        "end": {
                          "line": 530,
                          "column": 60
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "sourceDefinition",
                            "range": [
                              18690,
                              18706
                            ],
                            "loc": {
                              "start": {
                                "line": 531,
                                "column": 8
                              },
                              "end": {
                                "line": 531,
                                "column": 24
                              }
                            }
                          },
                          "init": {
                            "type": "MemberExpression",
                            "computed": true,
                            "object": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  18709,
                                  18713
                                ],
                                "loc": {
                                  "start": {
                                    "line": 531,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 531,
                                    "column": 31
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_types",
                                "range": [
                                  18714,
                                  18720
                                ],
                                "loc": {
                                  "start": {
                                    "line": 531,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 531,
                                    "column": 38
                                  }
                                }
                              },
                              "range": [
                                18709,
                                18720
                              ],
                              "loc": {
                                "start": {
                                  "line": 531,
                                  "column": 27
                                },
                                "end": {
                                  "line": 531,
                                  "column": 38
                                }
                              }
                            },
                            "property": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "sourceResource",
                                "range": [
                                  18721,
                                  18735
                                ],
                                "loc": {
                                  "start": {
                                    "line": 531,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 531,
                                    "column": 53
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  18736,
                                  18740
                                ],
                                "loc": {
                                  "start": {
                                    "line": 531,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 531,
                                    "column": 58
                                  }
                                }
                              },
                              "range": [
                                18721,
                                18740
                              ],
                              "loc": {
                                "start": {
                                  "line": 531,
                                  "column": 39
                                },
                                "end": {
                                  "line": 531,
                                  "column": 58
                                }
                              }
                            },
                            "range": [
                              18709,
                              18741
                            ],
                            "loc": {
                              "start": {
                                "line": 531,
                                "column": 27
                              },
                              "end": {
                                "line": 531,
                                "column": 59
                              }
                            }
                          },
                          "range": [
                            18690,
                            18741
                          ],
                          "loc": {
                            "start": {
                              "line": 531,
                              "column": 8
                            },
                            "end": {
                              "line": 531,
                              "column": 59
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "range": [
                        18686,
                        18742
                      ],
                      "loc": {
                        "start": {
                          "line": 531,
                          "column": 4
                        },
                        "end": {
                          "line": 531,
                          "column": 60
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "Identifier",
                        "name": "targetDefinition",
                        "range": [
                          18751,
                          18767
                        ],
                        "loc": {
                          "start": {
                            "line": 532,
                            "column": 8
                          },
                          "end": {
                            "line": 532,
                            "column": 24
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "id": {
                                  "type": "Identifier",
                                  "name": "targetFieldName",
                                  "range": [
                                    18781,
                                    18796
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 533,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 533,
                                      "column": 25
                                    }
                                  }
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ArrayExpression",
                                          "elements": [
                                            {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "sourceField",
                                                "range": [
                                                  18801,
                                                  18812
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 533,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 533,
                                                    "column": 41
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "inverse",
                                                "range": [
                                                  18813,
                                                  18820
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 533,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 533,
                                                    "column": 49
                                                  }
                                                }
                                              },
                                              "range": [
                                                18801,
                                                18820
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 533,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 533,
                                                  "column": 49
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            18799,
                                            18822
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 533,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 533,
                                              "column": 51
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "concat",
                                          "range": [
                                            18823,
                                            18829
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 533,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 533,
                                              "column": 58
                                            }
                                          }
                                        },
                                        "range": [
                                          18799,
                                          18829
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 533,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 533,
                                            "column": 58
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "sourceDefinition",
                                            "range": [
                                              18830,
                                              18846
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 533,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 533,
                                                "column": 75
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_names",
                                            "range": [
                                              18847,
                                              18853
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 533,
                                                "column": 76
                                              },
                                              "end": {
                                                "line": 533,
                                                "column": 82
                                              }
                                            }
                                          },
                                          "range": [
                                            18830,
                                            18853
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 533,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 533,
                                              "column": 82
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        18799,
                                        18854
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 533,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 533,
                                          "column": 83
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "find",
                                      "range": [
                                        18855,
                                        18859
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 533,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 533,
                                          "column": 88
                                        }
                                      }
                                    },
                                    "range": [
                                      18799,
                                      18859
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 533,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 533,
                                        "column": 88
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "id": null,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "name": "x",
                                          "range": [
                                            18860,
                                            18861
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 533,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 533,
                                              "column": 90
                                            }
                                          }
                                        }
                                      ],
                                      "body": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "targetDefinition",
                                          "range": [
                                            18865,
                                            18881
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 533,
                                              "column": 94
                                            },
                                            "end": {
                                              "line": 533,
                                              "column": 110
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "x",
                                          "range": [
                                            18882,
                                            18883
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 533,
                                              "column": 111
                                            },
                                            "end": {
                                              "line": 533,
                                              "column": 112
                                            }
                                          }
                                        },
                                        "range": [
                                          18865,
                                          18884
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 533,
                                            "column": 94
                                          },
                                          "end": {
                                            "line": 533,
                                            "column": 113
                                          }
                                        }
                                      },
                                      "generator": false,
                                      "expression": true,
                                      "range": [
                                        18860,
                                        18884
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 533,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 533,
                                          "column": 113
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    18799,
                                    18885
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 533,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 533,
                                      "column": 114
                                    }
                                  }
                                },
                                "range": [
                                  18781,
                                  18885
                                ],
                                "loc": {
                                  "start": {
                                    "line": 533,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 533,
                                    "column": 114
                                  }
                                }
                              }
                            ],
                            "kind": "let",
                            "range": [
                              18777,
                              18886
                            ],
                            "loc": {
                              "start": {
                                "line": 533,
                                "column": 6
                              },
                              "end": {
                                "line": 533,
                                "column": 115
                              }
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "id": {
                                  "type": "Identifier",
                                  "name": "targetField",
                                  "range": [
                                    18897,
                                    18908
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 534,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 534,
                                      "column": 21
                                    }
                                  }
                                },
                                "init": {
                                  "type": "LogicalExpression",
                                  "operator": "&&",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "targetDefinition",
                                    "range": [
                                      18911,
                                      18927
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 534,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 534,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "computed": true,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "targetDefinition",
                                      "range": [
                                        18931,
                                        18947
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 534,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 534,
                                          "column": 60
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "targetFieldName",
                                      "range": [
                                        18948,
                                        18963
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 534,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 534,
                                          "column": 76
                                        }
                                      }
                                    },
                                    "range": [
                                      18931,
                                      18964
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 534,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 534,
                                        "column": 77
                                      }
                                    }
                                  },
                                  "range": [
                                    18911,
                                    18964
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 534,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 534,
                                      "column": 77
                                    }
                                  }
                                },
                                "range": [
                                  18897,
                                  18964
                                ],
                                "loc": {
                                  "start": {
                                    "line": 534,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 534,
                                    "column": 77
                                  }
                                }
                              }
                            ],
                            "kind": "let",
                            "range": [
                              18893,
                              18965
                            ],
                            "loc": {
                              "start": {
                                "line": 534,
                                "column": 6
                              },
                              "end": {
                                "line": 534,
                                "column": 78
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "targetResource",
                                    "range": [
                                      18972,
                                      18986
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 535,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 535,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_dependents",
                                    "range": [
                                      18987,
                                      18998
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 535,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 535,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    18972,
                                    18998
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 32
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "push",
                                  "range": [
                                    18999,
                                    19003
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 37
                                    }
                                  }
                                },
                                "range": [
                                  18972,
                                  19003
                                ],
                                "loc": {
                                  "start": {
                                    "line": 535,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 535,
                                    "column": 37
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "key": {
                                        "type": "Identifier",
                                        "name": "type",
                                        "range": [
                                          19006,
                                          19010
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 535,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 535,
                                            "column": 44
                                          }
                                        }
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "sourceResource",
                                          "range": [
                                            19012,
                                            19026
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 535,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 535,
                                              "column": 60
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "type",
                                          "range": [
                                            19027,
                                            19031
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 535,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 535,
                                              "column": 65
                                            }
                                          }
                                        },
                                        "range": [
                                          19012,
                                          19031
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 535,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 535,
                                            "column": 65
                                          }
                                        }
                                      },
                                      "kind": "init",
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "range": [
                                        19006,
                                        19031
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 535,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 535,
                                          "column": 65
                                        }
                                      }
                                    },
                                    {
                                      "type": "Property",
                                      "key": {
                                        "type": "Identifier",
                                        "name": "id",
                                        "range": [
                                          19033,
                                          19035
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 535,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 535,
                                            "column": 69
                                          }
                                        }
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "sourceResource",
                                          "range": [
                                            19037,
                                            19051
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 535,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 535,
                                              "column": 85
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "id",
                                          "range": [
                                            19052,
                                            19054
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 535,
                                              "column": 86
                                            },
                                            "end": {
                                              "line": 535,
                                              "column": 88
                                            }
                                          }
                                        },
                                        "range": [
                                          19037,
                                          19054
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 535,
                                            "column": 71
                                          },
                                          "end": {
                                            "line": 535,
                                            "column": 88
                                          }
                                        }
                                      },
                                      "kind": "init",
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "range": [
                                        19033,
                                        19054
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 535,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 535,
                                          "column": 88
                                        }
                                      }
                                    },
                                    {
                                      "type": "Property",
                                      "key": {
                                        "type": "Identifier",
                                        "name": "fieldName",
                                        "range": [
                                          19056,
                                          19065
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 535,
                                            "column": 90
                                          },
                                          "end": {
                                            "line": 535,
                                            "column": 99
                                          }
                                        }
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "name": "sourceFieldName",
                                        "range": [
                                          19067,
                                          19082
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 535,
                                            "column": 101
                                          },
                                          "end": {
                                            "line": 535,
                                            "column": 116
                                          }
                                        }
                                      },
                                      "kind": "init",
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "range": [
                                        19056,
                                        19082
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 535,
                                          "column": 90
                                        },
                                        "end": {
                                          "line": 535,
                                          "column": 116
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    19004,
                                    19084
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 118
                                    }
                                  }
                                }
                              ],
                              "range": [
                                18972,
                                19085
                              ],
                              "loc": {
                                "start": {
                                  "line": 535,
                                  "column": 6
                                },
                                "end": {
                                  "line": 535,
                                  "column": 119
                                }
                              }
                            },
                            "range": [
                              18972,
                              19086
                            ],
                            "loc": {
                              "start": {
                                "line": 535,
                                "column": 6
                              },
                              "end": {
                                "line": 535,
                                "column": 120
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "Identifier",
                              "name": "targetField",
                              "range": [
                                19097,
                                19108
                              ],
                              "loc": {
                                "start": {
                                  "line": 536,
                                  "column": 10
                                },
                                "end": {
                                  "line": 536,
                                  "column": 21
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "BinaryExpression",
                                    "operator": "===",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "targetField",
                                        "range": [
                                          19124,
                                          19135
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 537,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 537,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "type",
                                        "range": [
                                          19136,
                                          19140
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 537,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 537,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "range": [
                                        19124,
                                        19140
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 537,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 537,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": "has-one",
                                      "raw": "\"has-one\"",
                                      "range": [
                                        19145,
                                        19154
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 537,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 537,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      19124,
                                      19154
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 537,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 537,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "sourceResource",
                                                "range": [
                                                  19168,
                                                  19182
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 538,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 538,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_dependents",
                                                "range": [
                                                  19183,
                                                  19194
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 538,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 538,
                                                    "column": 36
                                                  }
                                                }
                                              },
                                              "range": [
                                                19168,
                                                19194
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 538,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 538,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "push",
                                              "range": [
                                                19195,
                                                19199
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 538,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 538,
                                                  "column": 41
                                                }
                                              }
                                            },
                                            "range": [
                                              19168,
                                              19199
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 538,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 538,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ObjectExpression",
                                              "properties": [
                                                {
                                                  "type": "Property",
                                                  "key": {
                                                    "type": "Identifier",
                                                    "name": "type",
                                                    "range": [
                                                      19202,
                                                      19206
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 538,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 538,
                                                        "column": 48
                                                      }
                                                    }
                                                  },
                                                  "value": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "targetResource",
                                                      "range": [
                                                        19208,
                                                        19222
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 538,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 538,
                                                          "column": 64
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "type",
                                                      "range": [
                                                        19223,
                                                        19227
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 538,
                                                          "column": 65
                                                        },
                                                        "end": {
                                                          "line": 538,
                                                          "column": 69
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      19208,
                                                      19227
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 538,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 538,
                                                        "column": 69
                                                      }
                                                    }
                                                  },
                                                  "kind": "init",
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "range": [
                                                    19202,
                                                    19227
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 44
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 69
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Property",
                                                  "key": {
                                                    "type": "Identifier",
                                                    "name": "id",
                                                    "range": [
                                                      19229,
                                                      19231
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 538,
                                                        "column": 71
                                                      },
                                                      "end": {
                                                        "line": 538,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "value": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "targetResource",
                                                      "range": [
                                                        19233,
                                                        19247
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 538,
                                                          "column": 75
                                                        },
                                                        "end": {
                                                          "line": 538,
                                                          "column": 89
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "id",
                                                      "range": [
                                                        19248,
                                                        19250
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 538,
                                                          "column": 90
                                                        },
                                                        "end": {
                                                          "line": 538,
                                                          "column": 92
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      19233,
                                                      19250
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 538,
                                                        "column": 75
                                                      },
                                                      "end": {
                                                        "line": 538,
                                                        "column": 92
                                                      }
                                                    }
                                                  },
                                                  "kind": "init",
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "range": [
                                                    19229,
                                                    19250
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 71
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 92
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Property",
                                                  "key": {
                                                    "type": "Identifier",
                                                    "name": "fieldName",
                                                    "range": [
                                                      19252,
                                                      19261
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 538,
                                                        "column": 94
                                                      },
                                                      "end": {
                                                        "line": 538,
                                                        "column": 103
                                                      }
                                                    }
                                                  },
                                                  "value": {
                                                    "type": "Identifier",
                                                    "name": "targetFieldName",
                                                    "range": [
                                                      19263,
                                                      19278
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 538,
                                                        "column": 105
                                                      },
                                                      "end": {
                                                        "line": 538,
                                                        "column": 120
                                                      }
                                                    }
                                                  },
                                                  "kind": "init",
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "range": [
                                                    19252,
                                                    19278
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 94
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 120
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                19200,
                                                19280
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 538,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 538,
                                                  "column": 122
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            19168,
                                            19281
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 538,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 538,
                                              "column": 123
                                            }
                                          }
                                        },
                                        "range": [
                                          19168,
                                          19282
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 538,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 538,
                                            "column": 124
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "targetResource",
                                              "range": [
                                                19293,
                                                19307
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 539,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 539,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "targetFieldName",
                                              "range": [
                                                19308,
                                                19323
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 539,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 539,
                                                  "column": 40
                                                }
                                              }
                                            },
                                            "range": [
                                              19293,
                                              19324
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 539,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 539,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "name": "sourceResource",
                                            "range": [
                                              19327,
                                              19341
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 539,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 539,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            19293,
                                            19341
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 539,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 539,
                                              "column": 58
                                            }
                                          }
                                        },
                                        "range": [
                                          19293,
                                          19342
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 539,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 539,
                                            "column": 59
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      19156,
                                      19352
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 537,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 540,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "BinaryExpression",
                                      "operator": "===",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "targetField",
                                          "range": [
                                            19362,
                                            19373
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 540,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 540,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "type",
                                          "range": [
                                            19374,
                                            19378
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 540,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 540,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "range": [
                                          19362,
                                          19378
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 540,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 540,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": "has-many",
                                        "raw": "\"has-many\"",
                                        "range": [
                                          19383,
                                          19393
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 540,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 540,
                                            "column": 50
                                          }
                                        }
                                      },
                                      "range": [
                                        19362,
                                        19393
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 540,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 540,
                                          "column": 50
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "sourceResource",
                                                  "range": [
                                                    19407,
                                                    19421
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 541,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 541,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "_dependents",
                                                  "range": [
                                                    19422,
                                                    19433
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 541,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 541,
                                                      "column": 36
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  19407,
                                                  19433
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 541,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 541,
                                                    "column": 36
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "push",
                                                "range": [
                                                  19434,
                                                  19438
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 541,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 541,
                                                    "column": 41
                                                  }
                                                }
                                              },
                                              "range": [
                                                19407,
                                                19438
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 541,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 541,
                                                  "column": 41
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "ObjectExpression",
                                                "properties": [
                                                  {
                                                    "type": "Property",
                                                    "key": {
                                                      "type": "Identifier",
                                                      "name": "type",
                                                      "range": [
                                                        19441,
                                                        19445
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 541,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 541,
                                                          "column": 48
                                                        }
                                                      }
                                                    },
                                                    "value": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "targetResource",
                                                        "range": [
                                                          19447,
                                                          19461
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 541,
                                                            "column": 50
                                                          },
                                                          "end": {
                                                            "line": 541,
                                                            "column": 64
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "type",
                                                        "range": [
                                                          19462,
                                                          19466
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 541,
                                                            "column": 65
                                                          },
                                                          "end": {
                                                            "line": 541,
                                                            "column": 69
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        19447,
                                                        19466
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 541,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 541,
                                                          "column": 69
                                                        }
                                                      }
                                                    },
                                                    "kind": "init",
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "range": [
                                                      19441,
                                                      19466
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 541,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 541,
                                                        "column": 69
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "key": {
                                                      "type": "Identifier",
                                                      "name": "id",
                                                      "range": [
                                                        19468,
                                                        19470
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 541,
                                                          "column": 71
                                                        },
                                                        "end": {
                                                          "line": 541,
                                                          "column": 73
                                                        }
                                                      }
                                                    },
                                                    "value": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "targetResource",
                                                        "range": [
                                                          19472,
                                                          19486
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 541,
                                                            "column": 75
                                                          },
                                                          "end": {
                                                            "line": 541,
                                                            "column": 89
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "id",
                                                        "range": [
                                                          19487,
                                                          19489
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 541,
                                                            "column": 90
                                                          },
                                                          "end": {
                                                            "line": 541,
                                                            "column": 92
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        19472,
                                                        19489
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 541,
                                                          "column": 75
                                                        },
                                                        "end": {
                                                          "line": 541,
                                                          "column": 92
                                                        }
                                                      }
                                                    },
                                                    "kind": "init",
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "range": [
                                                      19468,
                                                      19489
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 541,
                                                        "column": 71
                                                      },
                                                      "end": {
                                                        "line": 541,
                                                        "column": 92
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "key": {
                                                      "type": "Identifier",
                                                      "name": "fieldName",
                                                      "range": [
                                                        19491,
                                                        19500
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 541,
                                                          "column": 94
                                                        },
                                                        "end": {
                                                          "line": 541,
                                                          "column": 103
                                                        }
                                                      }
                                                    },
                                                    "value": {
                                                      "type": "Identifier",
                                                      "name": "targetFieldName",
                                                      "range": [
                                                        19502,
                                                        19517
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 541,
                                                          "column": 105
                                                        },
                                                        "end": {
                                                          "line": 541,
                                                          "column": 120
                                                        }
                                                      }
                                                    },
                                                    "kind": "init",
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "range": [
                                                      19491,
                                                      19517
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 541,
                                                        "column": 94
                                                      },
                                                      "end": {
                                                        "line": 541,
                                                        "column": 120
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  19439,
                                                  19519
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 541,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 541,
                                                    "column": 122
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              19407,
                                              19520
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 541,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 541,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            19407,
                                            19521
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 541,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 541,
                                              "column": 124
                                            }
                                          }
                                        },
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "BinaryExpression",
                                            "operator": "===",
                                            "left": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "targetResource",
                                                    "range": [
                                                      19536,
                                                      19550
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 542,
                                                        "column": 14
                                                      },
                                                      "end": {
                                                        "line": 542,
                                                        "column": 28
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "targetFieldName",
                                                    "range": [
                                                      19551,
                                                      19566
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 542,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 542,
                                                        "column": 44
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    19536,
                                                    19567
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 542,
                                                      "column": 14
                                                    },
                                                    "end": {
                                                      "line": 542,
                                                      "column": 45
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "indexOf",
                                                  "range": [
                                                    19568,
                                                    19575
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 542,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 542,
                                                      "column": 53
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  19536,
                                                  19575
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 542,
                                                    "column": 14
                                                  },
                                                  "end": {
                                                    "line": 542,
                                                    "column": 53
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "sourceResource",
                                                  "range": [
                                                    19576,
                                                    19590
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 542,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 542,
                                                      "column": 68
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                19536,
                                                19591
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 542,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 542,
                                                  "column": 69
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "UnaryExpression",
                                              "operator": "-",
                                              "argument": {
                                                "type": "Literal",
                                                "value": 1,
                                                "raw": "1",
                                                "range": [
                                                  19597,
                                                  19598
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 542,
                                                    "column": 75
                                                  },
                                                  "end": {
                                                    "line": 542,
                                                    "column": 76
                                                  }
                                                }
                                              },
                                              "prefix": true,
                                              "range": [
                                                19596,
                                                19598
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 542,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 542,
                                                  "column": 76
                                                }
                                              }
                                            },
                                            "range": [
                                              19536,
                                              19598
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 542,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 542,
                                                "column": 76
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "computed": true,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "targetResource",
                                                        "range": [
                                                          19614,
                                                          19628
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 543,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 543,
                                                            "column": 26
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "targetFieldName",
                                                        "range": [
                                                          19629,
                                                          19644
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 543,
                                                            "column": 27
                                                          },
                                                          "end": {
                                                            "line": 543,
                                                            "column": 42
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        19614,
                                                        19645
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 543,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 543,
                                                          "column": 43
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "push",
                                                      "range": [
                                                        19646,
                                                        19650
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 543,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 543,
                                                          "column": 48
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      19614,
                                                      19650
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 543,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 543,
                                                        "column": 48
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "sourceResource",
                                                      "range": [
                                                        19651,
                                                        19665
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 543,
                                                          "column": 49
                                                        },
                                                        "end": {
                                                          "line": 543,
                                                          "column": 63
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    19614,
                                                    19666
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 543,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 543,
                                                      "column": 64
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  19614,
                                                  19667
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 543,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 543,
                                                    "column": 65
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              19600,
                                              19679
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 542,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 544,
                                                "column": 11
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            19532,
                                            19679
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 542,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 544,
                                              "column": 11
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        19395,
                                        19689
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 540,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 545,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "BinaryExpression",
                                        "operator": "===",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "targetField",
                                            "range": [
                                              19699,
                                              19710
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 545,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 545,
                                                "column": 30
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "type",
                                            "range": [
                                              19711,
                                              19715
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 545,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 545,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "range": [
                                            19699,
                                            19715
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 545,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 545,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "value": "attr",
                                          "raw": "\"attr\"",
                                          "range": [
                                            19720,
                                            19726
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 545,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 545,
                                              "column": 46
                                            }
                                          }
                                        },
                                        "range": [
                                          19699,
                                          19726
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 545,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 545,
                                            "column": 46
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ThrowStatement",
                                            "argument": {
                                              "type": "NewExpression",
                                              "callee": {
                                                "type": "Identifier",
                                                "name": "Error",
                                                "range": [
                                                  19750,
                                                  19755
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 546,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 546,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "TemplateLiteral",
                                                  "quasis": [
                                                    {
                                                      "type": "TemplateElement",
                                                      "value": {
                                                        "raw": "The the inverse relationship for '",
                                                        "cooked": "The the inverse relationship for '"
                                                      },
                                                      "tail": false,
                                                      "range": [
                                                        19756,
                                                        19793
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 546,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 546,
                                                          "column": 63
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "TemplateElement",
                                                      "value": {
                                                        "raw": "' is an attribute ('",
                                                        "cooked": "' is an attribute ('"
                                                      },
                                                      "tail": false,
                                                      "range": [
                                                        19808,
                                                        19831
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 546,
                                                          "column": 78
                                                        },
                                                        "end": {
                                                          "line": 546,
                                                          "column": 101
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "TemplateElement",
                                                      "value": {
                                                        "raw": "')",
                                                        "cooked": "')"
                                                      },
                                                      "tail": true,
                                                      "range": [
                                                        19846,
                                                        19850
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 546,
                                                          "column": 116
                                                        },
                                                        "end": {
                                                          "line": 546,
                                                          "column": 120
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "expressions": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "sourceFieldName",
                                                      "range": [
                                                        19793,
                                                        19808
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 546,
                                                          "column": 63
                                                        },
                                                        "end": {
                                                          "line": 546,
                                                          "column": 78
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "name": "targetFieldName",
                                                      "range": [
                                                        19831,
                                                        19846
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 546,
                                                          "column": 101
                                                        },
                                                        "end": {
                                                          "line": 546,
                                                          "column": 116
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    19756,
                                                    19850
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 546,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 546,
                                                      "column": 120
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                19746,
                                                19851
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 546,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 546,
                                                  "column": 121
                                                }
                                              }
                                            },
                                            "range": [
                                              19740,
                                              19852
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 546,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 546,
                                                "column": 122
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          19728,
                                          19862
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 545,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 547,
                                            "column": 9
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        19695,
                                        19862
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 545,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 547,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "range": [
                                      19358,
                                      19862
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 540,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 547,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    19120,
                                    19862
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 537,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 547,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                19110,
                                19870
                              ],
                              "loc": {
                                "start": {
                                  "line": 536,
                                  "column": 23
                                },
                                "end": {
                                  "line": 548,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "test": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "sourceField",
                                  "range": [
                                    19880,
                                    19891
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 548,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 548,
                                      "column": 28
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "inverse",
                                  "range": [
                                    19892,
                                    19899
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 548,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 548,
                                      "column": 36
                                    }
                                  }
                                },
                                "range": [
                                  19880,
                                  19899
                                ],
                                "loc": {
                                  "start": {
                                    "line": 548,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 548,
                                    "column": 36
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ThrowStatement",
                                    "argument": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "Error",
                                        "range": [
                                          19921,
                                          19926
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 549,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 549,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "TemplateLiteral",
                                          "quasis": [
                                            {
                                              "type": "TemplateElement",
                                              "value": {
                                                "raw": "The the inverse relationship for '",
                                                "cooked": "The the inverse relationship for '"
                                              },
                                              "tail": false,
                                              "range": [
                                                19927,
                                                19964
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 549,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 549,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            {
                                              "type": "TemplateElement",
                                              "value": {
                                                "raw": "' is missing ('",
                                                "cooked": "' is missing ('"
                                              },
                                              "tail": false,
                                              "range": [
                                                19979,
                                                19997
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 549,
                                                  "column": 76
                                                },
                                                "end": {
                                                  "line": 549,
                                                  "column": 94
                                                }
                                              }
                                            },
                                            {
                                              "type": "TemplateElement",
                                              "value": {
                                                "raw": "')",
                                                "cooked": "')"
                                              },
                                              "tail": true,
                                              "range": [
                                                20016,
                                                20020
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 549,
                                                  "column": 113
                                                },
                                                "end": {
                                                  "line": 549,
                                                  "column": 117
                                                }
                                              }
                                            }
                                          ],
                                          "expressions": [
                                            {
                                              "type": "Identifier",
                                              "name": "sourceFieldName",
                                              "range": [
                                                19964,
                                                19979
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 549,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 549,
                                                  "column": 76
                                                }
                                              }
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "sourceField",
                                                "range": [
                                                  19997,
                                                  20008
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 549,
                                                    "column": 94
                                                  },
                                                  "end": {
                                                    "line": 549,
                                                    "column": 105
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "inverse",
                                                "range": [
                                                  20009,
                                                  20016
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 549,
                                                    "column": 106
                                                  },
                                                  "end": {
                                                    "line": 549,
                                                    "column": 113
                                                  }
                                                }
                                              },
                                              "range": [
                                                19997,
                                                20016
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 549,
                                                  "column": 94
                                                },
                                                "end": {
                                                  "line": 549,
                                                  "column": 113
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            19927,
                                            20020
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 117
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        19917,
                                        20021
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 549,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 549,
                                          "column": 118
                                        }
                                      }
                                    },
                                    "range": [
                                      19911,
                                      20022
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 549,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 549,
                                        "column": 119
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  19901,
                                  20030
                                ],
                                "loc": {
                                  "start": {
                                    "line": 548,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 550,
                                    "column": 7
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                19876,
                                20030
                              ],
                              "loc": {
                                "start": {
                                  "line": 548,
                                  "column": 13
                                },
                                "end": {
                                  "line": 550,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              19093,
                              20030
                            ],
                            "loc": {
                              "start": {
                                "line": 536,
                                "column": 6
                              },
                              "end": {
                                "line": 550,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          18769,
                          20036
                        ],
                        "loc": {
                          "start": {
                            "line": 532,
                            "column": 26
                          },
                          "end": {
                            "line": 551,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        18747,
                        20036
                      ],
                      "loc": {
                        "start": {
                          "line": 532,
                          "column": 4
                        },
                        "end": {
                          "line": 551,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    18619,
                    20040
                  ],
                  "loc": {
                    "start": {
                      "line": 529,
                      "column": 88
                    },
                    "end": {
                      "line": 552,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  18556,
                  20040
                ],
                "loc": {
                  "start": {
                    "line": 529,
                    "column": 25
                  },
                  "end": {
                    "line": 552,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                18533,
                20040
              ],
              "loc": {
                "start": {
                  "line": 529,
                  "column": 2
                },
                "end": {
                  "line": 552,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "_remove",
                "range": [
                  20044,
                  20051
                ],
                "loc": {
                  "start": {
                    "line": 554,
                    "column": 2
                  },
                  "end": {
                    "line": 554,
                    "column": 9
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "resource",
                    "range": [
                      20052,
                      20060
                    ],
                    "loc": {
                      "start": {
                        "line": 554,
                        "column": 10
                      },
                      "end": {
                        "line": 554,
                        "column": 18
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "resource",
                              "range": [
                                20068,
                                20076
                              ],
                              "loc": {
                                "start": {
                                  "line": 555,
                                  "column": 4
                                },
                                "end": {
                                  "line": 555,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_dependents",
                              "range": [
                                20077,
                                20088
                              ],
                              "loc": {
                                "start": {
                                  "line": 555,
                                  "column": 13
                                },
                                "end": {
                                  "line": 555,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              20068,
                              20088
                            ],
                            "loc": {
                              "start": {
                                "line": 555,
                                "column": 4
                              },
                              "end": {
                                "line": 555,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "forEach",
                            "range": [
                              20089,
                              20096
                            ],
                            "loc": {
                              "start": {
                                "line": 555,
                                "column": 25
                              },
                              "end": {
                                "line": 555,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            20068,
                            20096
                          ],
                          "loc": {
                            "start": {
                              "line": 555,
                              "column": 4
                            },
                            "end": {
                              "line": 555,
                              "column": 32
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "dependent",
                                "range": [
                                  20097,
                                  20106
                                ],
                                "loc": {
                                  "start": {
                                    "line": 555,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 555,
                                    "column": 42
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "id": {
                                        "type": "Identifier",
                                        "name": "dependentResource",
                                        "range": [
                                          20122,
                                          20139
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 556,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 556,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                20142,
                                                20146
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 556,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 556,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "_data",
                                              "range": [
                                                20147,
                                                20152
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 556,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 556,
                                                  "column": 40
                                                }
                                              }
                                            },
                                            "range": [
                                              20142,
                                              20152
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 556,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 556,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "dependent",
                                              "range": [
                                                20153,
                                                20162
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 556,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 556,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "type",
                                              "range": [
                                                20163,
                                                20167
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 556,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 556,
                                                  "column": 55
                                                }
                                              }
                                            },
                                            "range": [
                                              20153,
                                              20167
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 556,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 556,
                                                "column": 55
                                              }
                                            }
                                          },
                                          "range": [
                                            20142,
                                            20168
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 556,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 556,
                                              "column": 56
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependent",
                                            "range": [
                                              20169,
                                              20178
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 556,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 556,
                                                "column": 66
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "id",
                                            "range": [
                                              20179,
                                              20181
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 556,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 556,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            20169,
                                            20181
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 556,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 556,
                                              "column": 69
                                            }
                                          }
                                        },
                                        "range": [
                                          20142,
                                          20182
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 556,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 556,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "range": [
                                        20122,
                                        20182
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 556,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 556,
                                          "column": 70
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "let",
                                  "range": [
                                    20118,
                                    20183
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 556,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 556,
                                      "column": 71
                                    }
                                  }
                                },
                                {
                                  "type": "SwitchStatement",
                                  "discriminant": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              20198,
                                              20202
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 557,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 557,
                                                "column": 18
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_types",
                                            "range": [
                                              20203,
                                              20209
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 557,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 557,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "range": [
                                            20198,
                                            20209
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 557,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 557,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependent",
                                            "range": [
                                              20210,
                                              20219
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 557,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 557,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "type",
                                            "range": [
                                              20220,
                                              20224
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 557,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 557,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "range": [
                                            20210,
                                            20224
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 557,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 557,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "range": [
                                          20198,
                                          20225
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 557,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 557,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "dependent",
                                          "range": [
                                            20226,
                                            20235
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 557,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 557,
                                              "column": 51
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "fieldName",
                                          "range": [
                                            20236,
                                            20245
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 557,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 557,
                                              "column": 61
                                            }
                                          }
                                        },
                                        "range": [
                                          20226,
                                          20245
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 557,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 557,
                                            "column": 61
                                          }
                                        }
                                      },
                                      "range": [
                                        20198,
                                        20246
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 557,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 557,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "type",
                                      "range": [
                                        20247,
                                        20251
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 557,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 557,
                                          "column": 67
                                        }
                                      }
                                    },
                                    "range": [
                                      20198,
                                      20251
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 557,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 557,
                                        "column": 67
                                      }
                                    }
                                  },
                                  "cases": [
                                    {
                                      "type": "SwitchCase",
                                      "test": {
                                        "type": "Literal",
                                        "value": "has-one",
                                        "raw": "\"has-one\"",
                                        "range": [
                                          20268,
                                          20277
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 558,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 558,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "consequent": [
                                        {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "operator": "=",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "dependentResource",
                                                    "range": [
                                                      20291,
                                                      20308
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 559,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 559,
                                                        "column": 27
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "dependent",
                                                      "range": [
                                                        20309,
                                                        20318
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 559,
                                                          "column": 28
                                                        },
                                                        "end": {
                                                          "line": 559,
                                                          "column": 37
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "fieldName",
                                                      "range": [
                                                        20319,
                                                        20328
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 559,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 559,
                                                          "column": 47
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      20309,
                                                      20328
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 559,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 559,
                                                        "column": 47
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    20291,
                                                    20329
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 559,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 559,
                                                      "column": 48
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Literal",
                                                  "value": null,
                                                  "raw": "null",
                                                  "range": [
                                                    20332,
                                                    20336
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 559,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 559,
                                                      "column": 55
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  20291,
                                                  20336
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 559,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 559,
                                                    "column": 55
                                                  }
                                                }
                                              },
                                              "range": [
                                                20291,
                                                20337
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 559,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 559,
                                                  "column": 56
                                                }
                                              }
                                            },
                                            {
                                              "type": "BreakStatement",
                                              "label": null,
                                              "range": [
                                                20348,
                                                20354
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 560,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 560,
                                                  "column": 16
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            20279,
                                            20364
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 558,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 561,
                                              "column": 9
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        20263,
                                        20364
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 558,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 561,
                                          "column": 9
                                        }
                                      }
                                    },
                                    {
                                      "type": "SwitchCase",
                                      "test": {
                                        "type": "Literal",
                                        "value": "has-many",
                                        "raw": "\"has-many\"",
                                        "range": [
                                          20378,
                                          20388
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 562,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 562,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "consequent": [
                                        {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "VariableDeclaration",
                                              "declarations": [
                                                {
                                                  "type": "VariableDeclarator",
                                                  "id": {
                                                    "type": "Identifier",
                                                    "name": "index",
                                                    "range": [
                                                      20406,
                                                      20411
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 563,
                                                        "column": 14
                                                      },
                                                      "end": {
                                                        "line": 563,
                                                        "column": 19
                                                      }
                                                    }
                                                  },
                                                  "init": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "computed": true,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "dependentResource",
                                                          "range": [
                                                            20414,
                                                            20431
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 563,
                                                              "column": 22
                                                            },
                                                            "end": {
                                                              "line": 563,
                                                              "column": 39
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "dependent",
                                                            "range": [
                                                              20432,
                                                              20441
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 563,
                                                                "column": 40
                                                              },
                                                              "end": {
                                                                "line": 563,
                                                                "column": 49
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "fieldName",
                                                            "range": [
                                                              20442,
                                                              20451
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 563,
                                                                "column": 50
                                                              },
                                                              "end": {
                                                                "line": 563,
                                                                "column": 59
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            20432,
                                                            20451
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 563,
                                                              "column": 40
                                                            },
                                                            "end": {
                                                              "line": 563,
                                                              "column": 59
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          20414,
                                                          20452
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 563,
                                                            "column": 22
                                                          },
                                                          "end": {
                                                            "line": 563,
                                                            "column": 60
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "indexOf",
                                                        "range": [
                                                          20453,
                                                          20460
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 563,
                                                            "column": 61
                                                          },
                                                          "end": {
                                                            "line": 563,
                                                            "column": 68
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        20414,
                                                        20460
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 563,
                                                          "column": 22
                                                        },
                                                        "end": {
                                                          "line": 563,
                                                          "column": 68
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "resource",
                                                        "range": [
                                                          20461,
                                                          20469
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 563,
                                                            "column": 69
                                                          },
                                                          "end": {
                                                            "line": 563,
                                                            "column": 77
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      20414,
                                                      20470
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 563,
                                                        "column": 22
                                                      },
                                                      "end": {
                                                        "line": 563,
                                                        "column": 78
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    20406,
                                                    20470
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 563,
                                                      "column": 14
                                                    },
                                                    "end": {
                                                      "line": 563,
                                                      "column": 78
                                                    }
                                                  }
                                                }
                                              ],
                                              "kind": "let",
                                              "range": [
                                                20402,
                                                20471
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 563,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 563,
                                                  "column": 79
                                                }
                                              }
                                            },
                                            {
                                              "type": "IfStatement",
                                              "test": {
                                                "type": "BinaryExpression",
                                                "operator": "!==",
                                                "left": {
                                                  "type": "Identifier",
                                                  "name": "index",
                                                  "range": [
                                                    20486,
                                                    20491
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 564,
                                                      "column": 14
                                                    },
                                                    "end": {
                                                      "line": 564,
                                                      "column": 19
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "UnaryExpression",
                                                  "operator": "-",
                                                  "argument": {
                                                    "type": "Literal",
                                                    "value": 1,
                                                    "raw": "1",
                                                    "range": [
                                                      20497,
                                                      20498
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 564,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 564,
                                                        "column": 26
                                                      }
                                                    }
                                                  },
                                                  "prefix": true,
                                                  "range": [
                                                    20496,
                                                    20498
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 564,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 564,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  20486,
                                                  20498
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 564,
                                                    "column": 14
                                                  },
                                                  "end": {
                                                    "line": 564,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "MemberExpression",
                                                          "computed": true,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "dependentResource",
                                                            "range": [
                                                              20514,
                                                              20531
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 565,
                                                                "column": 12
                                                              },
                                                              "end": {
                                                                "line": 565,
                                                                "column": 29
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "dependent",
                                                              "range": [
                                                                20532,
                                                                20541
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 565,
                                                                  "column": 30
                                                                },
                                                                "end": {
                                                                  "line": 565,
                                                                  "column": 39
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "fieldName",
                                                              "range": [
                                                                20542,
                                                                20551
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 565,
                                                                  "column": 40
                                                                },
                                                                "end": {
                                                                  "line": 565,
                                                                  "column": 49
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              20532,
                                                              20551
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 565,
                                                                "column": 30
                                                              },
                                                              "end": {
                                                                "line": 565,
                                                                "column": 49
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            20514,
                                                            20552
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 565,
                                                              "column": 12
                                                            },
                                                            "end": {
                                                              "line": 565,
                                                              "column": 50
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "splice",
                                                          "range": [
                                                            20553,
                                                            20559
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 565,
                                                              "column": 51
                                                            },
                                                            "end": {
                                                              "line": 565,
                                                              "column": 57
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          20514,
                                                          20559
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 565,
                                                            "column": 12
                                                          },
                                                          "end": {
                                                            "line": 565,
                                                            "column": 57
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "index",
                                                          "range": [
                                                            20560,
                                                            20565
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 565,
                                                              "column": 58
                                                            },
                                                            "end": {
                                                              "line": 565,
                                                              "column": 63
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "Literal",
                                                          "value": 1,
                                                          "raw": "1",
                                                          "range": [
                                                            20567,
                                                            20568
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 565,
                                                              "column": 65
                                                            },
                                                            "end": {
                                                              "line": 565,
                                                              "column": 66
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        20514,
                                                        20569
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 565,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 565,
                                                          "column": 67
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      20514,
                                                      20570
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 565,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 565,
                                                        "column": 68
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  20500,
                                                  20582
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 564,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 566,
                                                    "column": 11
                                                  }
                                                }
                                              },
                                              "alternate": null,
                                              "range": [
                                                20482,
                                                20582
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 564,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 566,
                                                  "column": 11
                                                }
                                              }
                                            },
                                            {
                                              "type": "BreakStatement",
                                              "label": null,
                                              "range": [
                                                20593,
                                                20599
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 567,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 567,
                                                  "column": 16
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            20390,
                                            20609
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 562,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 568,
                                              "column": 9
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        20373,
                                        20609
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 562,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 568,
                                          "column": 9
                                        }
                                      }
                                    },
                                    {
                                      "type": "SwitchCase",
                                      "test": null,
                                      "consequent": [
                                        {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "BreakStatement",
                                              "label": null,
                                              "range": [
                                                20639,
                                                20645
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 570,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 570,
                                                  "column": 16
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            20627,
                                            20655
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 569,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 571,
                                              "column": 9
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        20618,
                                        20655
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 569,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 571,
                                          "column": 9
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    20190,
                                    20663
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 557,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 572,
                                      "column": 7
                                    }
                                  },
                                  "trailingComments": [
                                    {
                                      "type": "Line",
                                      "value": " TODO: This only needs to be run once for each dependent.",
                                      "range": [
                                        20670,
                                        20729
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 573,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 573,
                                          "column": 65
                                        }
                                      }
                                    }
                                  ]
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "dependentResource",
                                        "range": [
                                          20736,
                                          20753
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 574,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 574,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_dependents",
                                        "range": [
                                          20754,
                                          20765
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 574,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 574,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "range": [
                                        20736,
                                        20765
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 574,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 574,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependentResource",
                                            "range": [
                                              20768,
                                              20785
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 574,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 574,
                                                "column": 55
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_dependents",
                                            "range": [
                                              20786,
                                              20797
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 574,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 574,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "range": [
                                            20768,
                                            20797
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 574,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 574,
                                              "column": 67
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "filter",
                                          "range": [
                                            20798,
                                            20804
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 574,
                                              "column": 68
                                            },
                                            "end": {
                                              "line": 574,
                                              "column": 74
                                            }
                                          }
                                        },
                                        "range": [
                                          20768,
                                          20804
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 574,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 574,
                                            "column": 74
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ArrowFunctionExpression",
                                          "id": null,
                                          "params": [
                                            {
                                              "type": "Identifier",
                                              "name": "d",
                                              "range": [
                                                20805,
                                                20806
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 574,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 574,
                                                  "column": 76
                                                }
                                              }
                                            }
                                          ],
                                          "body": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ReturnStatement",
                                                "argument": {
                                                  "type": "UnaryExpression",
                                                  "operator": "!",
                                                  "argument": {
                                                    "type": "LogicalExpression",
                                                    "operator": "&&",
                                                    "left": {
                                                      "type": "BinaryExpression",
                                                      "operator": "===",
                                                      "left": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "d",
                                                          "range": [
                                                            20829,
                                                            20830
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 575,
                                                              "column": 17
                                                            },
                                                            "end": {
                                                              "line": 575,
                                                              "column": 18
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "type",
                                                          "range": [
                                                            20831,
                                                            20835
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 575,
                                                              "column": 19
                                                            },
                                                            "end": {
                                                              "line": 575,
                                                              "column": 23
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          20829,
                                                          20835
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 575,
                                                            "column": 17
                                                          },
                                                          "end": {
                                                            "line": 575,
                                                            "column": 23
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "resource",
                                                          "range": [
                                                            20840,
                                                            20848
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 575,
                                                              "column": 28
                                                            },
                                                            "end": {
                                                              "line": 575,
                                                              "column": 36
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "type",
                                                          "range": [
                                                            20849,
                                                            20853
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 575,
                                                              "column": 37
                                                            },
                                                            "end": {
                                                              "line": 575,
                                                              "column": 41
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          20840,
                                                          20853
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 575,
                                                            "column": 28
                                                          },
                                                          "end": {
                                                            "line": 575,
                                                            "column": 41
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        20829,
                                                        20853
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 575,
                                                          "column": 17
                                                        },
                                                        "end": {
                                                          "line": 575,
                                                          "column": 41
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "BinaryExpression",
                                                      "operator": "===",
                                                      "left": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "d",
                                                          "range": [
                                                            20857,
                                                            20858
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 575,
                                                              "column": 45
                                                            },
                                                            "end": {
                                                              "line": 575,
                                                              "column": 46
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "id",
                                                          "range": [
                                                            20859,
                                                            20861
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 575,
                                                              "column": 47
                                                            },
                                                            "end": {
                                                              "line": 575,
                                                              "column": 49
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          20857,
                                                          20861
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 575,
                                                            "column": 45
                                                          },
                                                          "end": {
                                                            "line": 575,
                                                            "column": 49
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "resource",
                                                          "range": [
                                                            20866,
                                                            20874
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 575,
                                                              "column": 54
                                                            },
                                                            "end": {
                                                              "line": 575,
                                                              "column": 62
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "id",
                                                          "range": [
                                                            20875,
                                                            20877
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 575,
                                                              "column": 63
                                                            },
                                                            "end": {
                                                              "line": 575,
                                                              "column": 65
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          20866,
                                                          20877
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 575,
                                                            "column": 54
                                                          },
                                                          "end": {
                                                            "line": 575,
                                                            "column": 65
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        20857,
                                                        20877
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 575,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 575,
                                                          "column": 65
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      20829,
                                                      20877
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 575,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 575,
                                                        "column": 65
                                                      }
                                                    }
                                                  },
                                                  "prefix": true,
                                                  "range": [
                                                    20827,
                                                    20878
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 575,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 575,
                                                      "column": 66
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  20820,
                                                  20879
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 575,
                                                    "column": 8
                                                  },
                                                  "end": {
                                                    "line": 575,
                                                    "column": 67
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              20810,
                                              20887
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 574,
                                                "column": 80
                                              },
                                              "end": {
                                                "line": 576,
                                                "column": 7
                                              }
                                            }
                                          },
                                          "generator": false,
                                          "expression": false,
                                          "range": [
                                            20805,
                                            20887
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 574,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 576,
                                              "column": 7
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        20768,
                                        20888
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 574,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 576,
                                          "column": 8
                                        }
                                      }
                                    },
                                    "range": [
                                      20736,
                                      20888
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 574,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 576,
                                        "column": 8
                                      }
                                    }
                                  },
                                  "range": [
                                    20736,
                                    20889
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 574,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 576,
                                      "column": 9
                                    }
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "Line",
                                      "value": " TODO: This only needs to be run once for each dependent.",
                                      "range": [
                                        20670,
                                        20729
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 573,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 573,
                                          "column": 65
                                        }
                                      }
                                    }
                                  ]
                                }
                              ],
                              "range": [
                                20110,
                                20895
                              ],
                              "loc": {
                                "start": {
                                  "line": 555,
                                  "column": 46
                                },
                                "end": {
                                  "line": 577,
                                  "column": 5
                                }
                              }
                            },
                            "generator": false,
                            "expression": false,
                            "range": [
                              20097,
                              20895
                            ],
                            "loc": {
                              "start": {
                                "line": 555,
                                "column": 33
                              },
                              "end": {
                                "line": 577,
                                "column": 5
                              }
                            }
                          }
                        ],
                        "range": [
                          20068,
                          20896
                        ],
                        "loc": {
                          "start": {
                            "line": 555,
                            "column": 4
                          },
                          "end": {
                            "line": 577,
                            "column": 6
                          }
                        }
                      },
                      "range": [
                        20068,
                        20897
                      ],
                      "loc": {
                        "start": {
                          "line": 555,
                          "column": 4
                        },
                        "end": {
                          "line": 577,
                          "column": 7
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "UnaryExpression",
                        "operator": "delete",
                        "argument": {
                          "type": "MemberExpression",
                          "computed": true,
                          "object": {
                            "type": "MemberExpression",
                            "computed": true,
                            "object": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  20909,
                                  20913
                                ],
                                "loc": {
                                  "start": {
                                    "line": 578,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 578,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_data",
                                "range": [
                                  20914,
                                  20919
                                ],
                                "loc": {
                                  "start": {
                                    "line": 578,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 578,
                                    "column": 21
                                  }
                                }
                              },
                              "range": [
                                20909,
                                20919
                              ],
                              "loc": {
                                "start": {
                                  "line": 578,
                                  "column": 11
                                },
                                "end": {
                                  "line": 578,
                                  "column": 21
                                }
                              }
                            },
                            "property": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "resource",
                                "range": [
                                  20920,
                                  20928
                                ],
                                "loc": {
                                  "start": {
                                    "line": 578,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 578,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  20929,
                                  20933
                                ],
                                "loc": {
                                  "start": {
                                    "line": 578,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 578,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                20920,
                                20933
                              ],
                              "loc": {
                                "start": {
                                  "line": 578,
                                  "column": 22
                                },
                                "end": {
                                  "line": 578,
                                  "column": 35
                                }
                              }
                            },
                            "range": [
                              20909,
                              20934
                            ],
                            "loc": {
                              "start": {
                                "line": 578,
                                "column": 11
                              },
                              "end": {
                                "line": 578,
                                "column": 36
                              }
                            }
                          },
                          "property": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "resource",
                              "range": [
                                20935,
                                20943
                              ],
                              "loc": {
                                "start": {
                                  "line": 578,
                                  "column": 37
                                },
                                "end": {
                                  "line": 578,
                                  "column": 45
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "id",
                              "range": [
                                20944,
                                20946
                              ],
                              "loc": {
                                "start": {
                                  "line": 578,
                                  "column": 46
                                },
                                "end": {
                                  "line": 578,
                                  "column": 48
                                }
                              }
                            },
                            "range": [
                              20935,
                              20946
                            ],
                            "loc": {
                              "start": {
                                "line": 578,
                                "column": 37
                              },
                              "end": {
                                "line": 578,
                                "column": 48
                              }
                            }
                          },
                          "range": [
                            20909,
                            20947
                          ],
                          "loc": {
                            "start": {
                              "line": 578,
                              "column": 11
                            },
                            "end": {
                              "line": 578,
                              "column": 49
                            }
                          }
                        },
                        "prefix": true,
                        "range": [
                          20902,
                          20947
                        ],
                        "loc": {
                          "start": {
                            "line": 578,
                            "column": 4
                          },
                          "end": {
                            "line": 578,
                            "column": 49
                          }
                        }
                      },
                      "range": [
                        20902,
                        20948
                      ],
                      "loc": {
                        "start": {
                          "line": 578,
                          "column": 4
                        },
                        "end": {
                          "line": 578,
                          "column": 50
                        }
                      }
                    }
                  ],
                  "range": [
                    20062,
                    20952
                  ],
                  "loc": {
                    "start": {
                      "line": 554,
                      "column": 20
                    },
                    "end": {
                      "line": 579,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  20051,
                  20952
                ],
                "loc": {
                  "start": {
                    "line": 554,
                    "column": 9
                  },
                  "end": {
                    "line": 579,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                20044,
                20952
              ],
              "loc": {
                "start": {
                  "line": 554,
                  "column": 2
                },
                "end": {
                  "line": 579,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "_removeInverseRelationship",
                "range": [
                  20956,
                  20982
                ],
                "loc": {
                  "start": {
                    "line": 581,
                    "column": 2
                  },
                  "end": {
                    "line": 581,
                    "column": 28
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "sourceResource",
                    "range": [
                      20983,
                      20997
                    ],
                    "loc": {
                      "start": {
                        "line": 581,
                        "column": 29
                      },
                      "end": {
                        "line": 581,
                        "column": 43
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "sourceFieldName",
                    "range": [
                      20999,
                      21014
                    ],
                    "loc": {
                      "start": {
                        "line": 581,
                        "column": 45
                      },
                      "end": {
                        "line": 581,
                        "column": 60
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "targetResource",
                    "range": [
                      21016,
                      21030
                    ],
                    "loc": {
                      "start": {
                        "line": 581,
                        "column": 62
                      },
                      "end": {
                        "line": 581,
                        "column": 76
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "sourceField",
                    "range": [
                      21032,
                      21043
                    ],
                    "loc": {
                      "start": {
                        "line": 581,
                        "column": 78
                      },
                      "end": {
                        "line": 581,
                        "column": 89
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "targetDefinition",
                            "range": [
                              21055,
                              21071
                            ],
                            "loc": {
                              "start": {
                                "line": 582,
                                "column": 8
                              },
                              "end": {
                                "line": 582,
                                "column": 24
                              }
                            }
                          },
                          "init": {
                            "type": "MemberExpression",
                            "computed": true,
                            "object": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  21074,
                                  21078
                                ],
                                "loc": {
                                  "start": {
                                    "line": 582,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 582,
                                    "column": 31
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_types",
                                "range": [
                                  21079,
                                  21085
                                ],
                                "loc": {
                                  "start": {
                                    "line": 582,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 582,
                                    "column": 38
                                  }
                                }
                              },
                              "range": [
                                21074,
                                21085
                              ],
                              "loc": {
                                "start": {
                                  "line": 582,
                                  "column": 27
                                },
                                "end": {
                                  "line": 582,
                                  "column": 38
                                }
                              }
                            },
                            "property": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "targetResource",
                                "range": [
                                  21086,
                                  21100
                                ],
                                "loc": {
                                  "start": {
                                    "line": 582,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 582,
                                    "column": 53
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  21101,
                                  21105
                                ],
                                "loc": {
                                  "start": {
                                    "line": 582,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 582,
                                    "column": 58
                                  }
                                }
                              },
                              "range": [
                                21086,
                                21105
                              ],
                              "loc": {
                                "start": {
                                  "line": 582,
                                  "column": 39
                                },
                                "end": {
                                  "line": 582,
                                  "column": 58
                                }
                              }
                            },
                            "range": [
                              21074,
                              21106
                            ],
                            "loc": {
                              "start": {
                                "line": 582,
                                "column": 27
                              },
                              "end": {
                                "line": 582,
                                "column": 59
                              }
                            }
                          },
                          "range": [
                            21055,
                            21106
                          ],
                          "loc": {
                            "start": {
                              "line": 582,
                              "column": 8
                            },
                            "end": {
                              "line": 582,
                              "column": 59
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "range": [
                        21051,
                        21107
                      ],
                      "loc": {
                        "start": {
                          "line": 582,
                          "column": 4
                        },
                        "end": {
                          "line": 582,
                          "column": 60
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "targetFieldName",
                            "range": [
                              21116,
                              21131
                            ],
                            "loc": {
                              "start": {
                                "line": 583,
                                "column": 8
                              },
                              "end": {
                                "line": 583,
                                "column": 23
                              }
                            }
                          },
                          "init": {
                            "type": "LogicalExpression",
                            "operator": "||",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "sourceField",
                                "range": [
                                  21134,
                                  21145
                                ],
                                "loc": {
                                  "start": {
                                    "line": 583,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 583,
                                    "column": 37
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "inverse",
                                "range": [
                                  21146,
                                  21153
                                ],
                                "loc": {
                                  "start": {
                                    "line": 583,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 583,
                                    "column": 45
                                  }
                                }
                              },
                              "range": [
                                21134,
                                21153
                              ],
                              "loc": {
                                "start": {
                                  "line": 583,
                                  "column": 26
                                },
                                "end": {
                                  "line": 583,
                                  "column": 45
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "sourceResource",
                                "range": [
                                  21157,
                                  21171
                                ],
                                "loc": {
                                  "start": {
                                    "line": 583,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 583,
                                    "column": 63
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  21172,
                                  21176
                                ],
                                "loc": {
                                  "start": {
                                    "line": 583,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 583,
                                    "column": 68
                                  }
                                }
                              },
                              "range": [
                                21157,
                                21176
                              ],
                              "loc": {
                                "start": {
                                  "line": 583,
                                  "column": 49
                                },
                                "end": {
                                  "line": 583,
                                  "column": 68
                                }
                              }
                            },
                            "range": [
                              21134,
                              21176
                            ],
                            "loc": {
                              "start": {
                                "line": 583,
                                "column": 26
                              },
                              "end": {
                                "line": 583,
                                "column": 68
                              }
                            }
                          },
                          "range": [
                            21116,
                            21176
                          ],
                          "loc": {
                            "start": {
                              "line": 583,
                              "column": 8
                            },
                            "end": {
                              "line": 583,
                              "column": 68
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "range": [
                        21112,
                        21177
                      ],
                      "loc": {
                        "start": {
                          "line": 583,
                          "column": 4
                        },
                        "end": {
                          "line": 583,
                          "column": 69
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "targetField",
                            "range": [
                              21186,
                              21197
                            ],
                            "loc": {
                              "start": {
                                "line": 584,
                                "column": 8
                              },
                              "end": {
                                "line": 584,
                                "column": 19
                              }
                            }
                          },
                          "init": {
                            "type": "LogicalExpression",
                            "operator": "&&",
                            "left": {
                              "type": "Identifier",
                              "name": "targetDefinition",
                              "range": [
                                21200,
                                21216
                              ],
                              "loc": {
                                "start": {
                                  "line": 584,
                                  "column": 22
                                },
                                "end": {
                                  "line": 584,
                                  "column": 38
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": true,
                              "object": {
                                "type": "Identifier",
                                "name": "targetDefinition",
                                "range": [
                                  21220,
                                  21236
                                ],
                                "loc": {
                                  "start": {
                                    "line": 584,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 584,
                                    "column": 58
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "targetFieldName",
                                "range": [
                                  21237,
                                  21252
                                ],
                                "loc": {
                                  "start": {
                                    "line": 584,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 584,
                                    "column": 74
                                  }
                                }
                              },
                              "range": [
                                21220,
                                21253
                              ],
                              "loc": {
                                "start": {
                                  "line": 584,
                                  "column": 42
                                },
                                "end": {
                                  "line": 584,
                                  "column": 75
                                }
                              }
                            },
                            "range": [
                              21200,
                              21253
                            ],
                            "loc": {
                              "start": {
                                "line": 584,
                                "column": 22
                              },
                              "end": {
                                "line": 584,
                                "column": 75
                              }
                            }
                          },
                          "range": [
                            21186,
                            21253
                          ],
                          "loc": {
                            "start": {
                              "line": 584,
                              "column": 8
                            },
                            "end": {
                              "line": 584,
                              "column": 75
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "range": [
                        21182,
                        21254
                      ],
                      "loc": {
                        "start": {
                          "line": 584,
                          "column": 4
                        },
                        "end": {
                          "line": 584,
                          "column": 76
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "targetResource",
                            "range": [
                              21259,
                              21273
                            ],
                            "loc": {
                              "start": {
                                "line": 585,
                                "column": 4
                              },
                              "end": {
                                "line": 585,
                                "column": 18
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_dependents",
                            "range": [
                              21274,
                              21285
                            ],
                            "loc": {
                              "start": {
                                "line": 585,
                                "column": 19
                              },
                              "end": {
                                "line": 585,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            21259,
                            21285
                          ],
                          "loc": {
                            "start": {
                              "line": 585,
                              "column": 4
                            },
                            "end": {
                              "line": 585,
                              "column": 30
                            }
                          }
                        },
                        "right": {
                          "type": "CallExpression",
                          "callee": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "targetResource",
                                "range": [
                                  21288,
                                  21302
                                ],
                                "loc": {
                                  "start": {
                                    "line": 585,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 585,
                                    "column": 47
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_dependents",
                                "range": [
                                  21303,
                                  21314
                                ],
                                "loc": {
                                  "start": {
                                    "line": 585,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 585,
                                    "column": 59
                                  }
                                }
                              },
                              "range": [
                                21288,
                                21314
                              ],
                              "loc": {
                                "start": {
                                  "line": 585,
                                  "column": 33
                                },
                                "end": {
                                  "line": 585,
                                  "column": 59
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "filter",
                              "range": [
                                21315,
                                21321
                              ],
                              "loc": {
                                "start": {
                                  "line": 585,
                                  "column": 60
                                },
                                "end": {
                                  "line": 585,
                                  "column": 66
                                }
                              }
                            },
                            "range": [
                              21288,
                              21321
                            ],
                            "loc": {
                              "start": {
                                "line": 585,
                                "column": 33
                              },
                              "end": {
                                "line": 585,
                                "column": 66
                              }
                            }
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "id": null,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "name": "r",
                                  "range": [
                                    21322,
                                    21323
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 585,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 585,
                                      "column": 68
                                    }
                                  }
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ReturnStatement",
                                    "argument": {
                                      "type": "UnaryExpression",
                                      "operator": "!",
                                      "argument": {
                                        "type": "LogicalExpression",
                                        "operator": "&&",
                                        "left": {
                                          "type": "LogicalExpression",
                                          "operator": "&&",
                                          "left": {
                                            "type": "BinaryExpression",
                                            "operator": "===",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "r",
                                                "range": [
                                                  21344,
                                                  21345
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 16
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "type",
                                                "range": [
                                                  21346,
                                                  21350
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "range": [
                                                21344,
                                                21350
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 586,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 586,
                                                  "column": 21
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "sourceResource",
                                                "range": [
                                                  21355,
                                                  21369
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 40
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "type",
                                                "range": [
                                                  21370,
                                                  21374
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 45
                                                  }
                                                }
                                              },
                                              "range": [
                                                21355,
                                                21374
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 586,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 586,
                                                  "column": 45
                                                }
                                              }
                                            },
                                            "range": [
                                              21344,
                                              21374
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 586,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 586,
                                                "column": 45
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "BinaryExpression",
                                            "operator": "===",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "r",
                                                "range": [
                                                  21378,
                                                  21379
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 50
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "id",
                                                "range": [
                                                  21380,
                                                  21382
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 53
                                                  }
                                                }
                                              },
                                              "range": [
                                                21378,
                                                21382
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 586,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 586,
                                                  "column": 53
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "sourceResource",
                                                "range": [
                                                  21387,
                                                  21401
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 72
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "id",
                                                "range": [
                                                  21402,
                                                  21404
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 73
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 75
                                                  }
                                                }
                                              },
                                              "range": [
                                                21387,
                                                21404
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 586,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 586,
                                                  "column": 75
                                                }
                                              }
                                            },
                                            "range": [
                                              21378,
                                              21404
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 586,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 586,
                                                "column": 75
                                              }
                                            }
                                          },
                                          "range": [
                                            21344,
                                            21404
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 586,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 586,
                                              "column": 75
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "BinaryExpression",
                                          "operator": "===",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "r",
                                              "range": [
                                                21408,
                                                21409
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 586,
                                                  "column": 79
                                                },
                                                "end": {
                                                  "line": 586,
                                                  "column": 80
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "fieldName",
                                              "range": [
                                                21410,
                                                21419
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 586,
                                                  "column": 81
                                                },
                                                "end": {
                                                  "line": 586,
                                                  "column": 90
                                                }
                                              }
                                            },
                                            "range": [
                                              21408,
                                              21419
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 586,
                                                "column": 79
                                              },
                                              "end": {
                                                "line": 586,
                                                "column": 90
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "name": "sourceFieldName",
                                            "range": [
                                              21424,
                                              21439
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 586,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 586,
                                                "column": 110
                                              }
                                            }
                                          },
                                          "range": [
                                            21408,
                                            21439
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 586,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 586,
                                              "column": 110
                                            }
                                          }
                                        },
                                        "range": [
                                          21344,
                                          21439
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 586,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 586,
                                            "column": 110
                                          }
                                        }
                                      },
                                      "prefix": true,
                                      "range": [
                                        21342,
                                        21440
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 586,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 586,
                                          "column": 111
                                        }
                                      }
                                    },
                                    "range": [
                                      21335,
                                      21441
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 586,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 586,
                                        "column": 112
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  21327,
                                  21447
                                ],
                                "loc": {
                                  "start": {
                                    "line": 585,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 587,
                                    "column": 5
                                  }
                                }
                              },
                              "generator": false,
                              "expression": false,
                              "range": [
                                21322,
                                21447
                              ],
                              "loc": {
                                "start": {
                                  "line": 585,
                                  "column": 67
                                },
                                "end": {
                                  "line": 587,
                                  "column": 5
                                }
                              }
                            }
                          ],
                          "range": [
                            21288,
                            21448
                          ],
                          "loc": {
                            "start": {
                              "line": 585,
                              "column": 33
                            },
                            "end": {
                              "line": 587,
                              "column": 6
                            }
                          }
                        },
                        "range": [
                          21259,
                          21448
                        ],
                        "loc": {
                          "start": {
                            "line": 585,
                            "column": 4
                          },
                          "end": {
                            "line": 587,
                            "column": 6
                          }
                        }
                      },
                      "range": [
                        21259,
                        21449
                      ],
                      "loc": {
                        "start": {
                          "line": 585,
                          "column": 4
                        },
                        "end": {
                          "line": 587,
                          "column": 7
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "Identifier",
                        "name": "targetField",
                        "range": [
                          21458,
                          21469
                        ],
                        "loc": {
                          "start": {
                            "line": 588,
                            "column": 8
                          },
                          "end": {
                            "line": 588,
                            "column": 19
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "===",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "targetField",
                                  "range": [
                                    21483,
                                    21494
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 589,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 589,
                                      "column": 21
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    21495,
                                    21499
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 589,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 589,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  21483,
                                  21499
                                ],
                                "loc": {
                                  "start": {
                                    "line": 589,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 589,
                                    "column": 26
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": "has-one",
                                "raw": "\"has-one\"",
                                "range": [
                                  21504,
                                  21513
                                ],
                                "loc": {
                                  "start": {
                                    "line": 589,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 589,
                                    "column": 40
                                  }
                                }
                              },
                              "range": [
                                21483,
                                21513
                              ],
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 10
                                },
                                "end": {
                                  "line": 589,
                                  "column": 40
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "sourceResource",
                                        "range": [
                                          21525,
                                          21539
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 590,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 590,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_dependents",
                                        "range": [
                                          21540,
                                          21551
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 590,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 590,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        21525,
                                        21551
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 590,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 590,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "sourceResource",
                                            "range": [
                                              21554,
                                              21568
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 590,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 590,
                                                "column": 51
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_dependents",
                                            "range": [
                                              21569,
                                              21580
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 590,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 590,
                                                "column": 63
                                              }
                                            }
                                          },
                                          "range": [
                                            21554,
                                            21580
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 590,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 590,
                                              "column": 63
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "filter",
                                          "range": [
                                            21581,
                                            21587
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 590,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 590,
                                              "column": 70
                                            }
                                          }
                                        },
                                        "range": [
                                          21554,
                                          21587
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 590,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 590,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ArrowFunctionExpression",
                                          "id": null,
                                          "params": [
                                            {
                                              "type": "Identifier",
                                              "name": "r",
                                              "range": [
                                                21588,
                                                21589
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 590,
                                                  "column": 71
                                                },
                                                "end": {
                                                  "line": 590,
                                                  "column": 72
                                                }
                                              }
                                            }
                                          ],
                                          "body": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ReturnStatement",
                                                "argument": {
                                                  "type": "UnaryExpression",
                                                  "operator": "!",
                                                  "argument": {
                                                    "type": "LogicalExpression",
                                                    "operator": "&&",
                                                    "left": {
                                                      "type": "LogicalExpression",
                                                      "operator": "&&",
                                                      "left": {
                                                        "type": "BinaryExpression",
                                                        "operator": "===",
                                                        "left": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "r",
                                                            "range": [
                                                              21614,
                                                              21615
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 591,
                                                                "column": 19
                                                              },
                                                              "end": {
                                                                "line": 591,
                                                                "column": 20
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "type",
                                                            "range": [
                                                              21616,
                                                              21620
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 591,
                                                                "column": 21
                                                              },
                                                              "end": {
                                                                "line": 591,
                                                                "column": 25
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            21614,
                                                            21620
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 591,
                                                              "column": 19
                                                            },
                                                            "end": {
                                                              "line": 591,
                                                              "column": 25
                                                            }
                                                          }
                                                        },
                                                        "right": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "targetResource",
                                                            "range": [
                                                              21625,
                                                              21639
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 591,
                                                                "column": 30
                                                              },
                                                              "end": {
                                                                "line": 591,
                                                                "column": 44
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "type",
                                                            "range": [
                                                              21640,
                                                              21644
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 591,
                                                                "column": 45
                                                              },
                                                              "end": {
                                                                "line": 591,
                                                                "column": 49
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            21625,
                                                            21644
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 591,
                                                              "column": 30
                                                            },
                                                            "end": {
                                                              "line": 591,
                                                              "column": 49
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          21614,
                                                          21644
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 591,
                                                            "column": 19
                                                          },
                                                          "end": {
                                                            "line": 591,
                                                            "column": 49
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "BinaryExpression",
                                                        "operator": "===",
                                                        "left": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "r",
                                                            "range": [
                                                              21648,
                                                              21649
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 591,
                                                                "column": 53
                                                              },
                                                              "end": {
                                                                "line": 591,
                                                                "column": 54
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "id",
                                                            "range": [
                                                              21650,
                                                              21652
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 591,
                                                                "column": 55
                                                              },
                                                              "end": {
                                                                "line": 591,
                                                                "column": 57
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            21648,
                                                            21652
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 591,
                                                              "column": 53
                                                            },
                                                            "end": {
                                                              "line": 591,
                                                              "column": 57
                                                            }
                                                          }
                                                        },
                                                        "right": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "targetResource",
                                                            "range": [
                                                              21657,
                                                              21671
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 591,
                                                                "column": 62
                                                              },
                                                              "end": {
                                                                "line": 591,
                                                                "column": 76
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "id",
                                                            "range": [
                                                              21672,
                                                              21674
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 591,
                                                                "column": 77
                                                              },
                                                              "end": {
                                                                "line": 591,
                                                                "column": 79
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            21657,
                                                            21674
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 591,
                                                              "column": 62
                                                            },
                                                            "end": {
                                                              "line": 591,
                                                              "column": 79
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          21648,
                                                          21674
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 591,
                                                            "column": 53
                                                          },
                                                          "end": {
                                                            "line": 591,
                                                            "column": 79
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        21614,
                                                        21674
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 591,
                                                          "column": 19
                                                        },
                                                        "end": {
                                                          "line": 591,
                                                          "column": 79
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "BinaryExpression",
                                                      "operator": "===",
                                                      "left": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "r",
                                                          "range": [
                                                            21678,
                                                            21679
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 591,
                                                              "column": 83
                                                            },
                                                            "end": {
                                                              "line": 591,
                                                              "column": 84
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "fieldName",
                                                          "range": [
                                                            21680,
                                                            21689
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 591,
                                                              "column": 85
                                                            },
                                                            "end": {
                                                              "line": 591,
                                                              "column": 94
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          21678,
                                                          21689
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 591,
                                                            "column": 83
                                                          },
                                                          "end": {
                                                            "line": 591,
                                                            "column": 94
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "Identifier",
                                                        "name": "targetFieldName",
                                                        "range": [
                                                          21694,
                                                          21709
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 591,
                                                            "column": 99
                                                          },
                                                          "end": {
                                                            "line": 591,
                                                            "column": 114
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        21678,
                                                        21709
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 591,
                                                          "column": 83
                                                        },
                                                        "end": {
                                                          "line": 591,
                                                          "column": 114
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      21614,
                                                      21709
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 591,
                                                        "column": 19
                                                      },
                                                      "end": {
                                                        "line": 591,
                                                        "column": 114
                                                      }
                                                    }
                                                  },
                                                  "prefix": true,
                                                  "range": [
                                                    21612,
                                                    21710
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 591,
                                                      "column": 17
                                                    },
                                                    "end": {
                                                      "line": 591,
                                                      "column": 115
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  21605,
                                                  21711
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 591,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 591,
                                                    "column": 116
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              21593,
                                              21721
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 590,
                                                "column": 76
                                              },
                                              "end": {
                                                "line": 592,
                                                "column": 9
                                              }
                                            }
                                          },
                                          "generator": false,
                                          "expression": false,
                                          "range": [
                                            21588,
                                            21721
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 590,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 592,
                                              "column": 9
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        21554,
                                        21722
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 590,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 592,
                                          "column": 10
                                        }
                                      }
                                    },
                                    "range": [
                                      21525,
                                      21722
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 590,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 592,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "range": [
                                    21525,
                                    21723
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 590,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 592,
                                      "column": 11
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "targetResource",
                                        "range": [
                                          21732,
                                          21746
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 593,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 593,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "targetFieldName",
                                        "range": [
                                          21747,
                                          21762
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 593,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 593,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        21732,
                                        21763
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 593,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 593,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": null,
                                      "raw": "null",
                                      "range": [
                                        21766,
                                        21770
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 593,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 593,
                                          "column": 46
                                        }
                                      }
                                    },
                                    "range": [
                                      21732,
                                      21770
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 593,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 593,
                                        "column": 46
                                      }
                                    }
                                  },
                                  "range": [
                                    21732,
                                    21771
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 593,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 593,
                                      "column": 47
                                    }
                                  }
                                }
                              ],
                              "range": [
                                21515,
                                21779
                              ],
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 42
                                },
                                "end": {
                                  "line": 594,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "test": {
                                "type": "BinaryExpression",
                                "operator": "===",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "targetField",
                                    "range": [
                                      21789,
                                      21800
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 594,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 594,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      21801,
                                      21805
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 594,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 594,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    21789,
                                    21805
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 594,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 594,
                                      "column": 33
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": "has-many",
                                  "raw": "\"has-many\"",
                                  "range": [
                                    21810,
                                    21820
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 594,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 594,
                                      "column": 48
                                    }
                                  }
                                },
                                "range": [
                                  21789,
                                  21820
                                ],
                                "loc": {
                                  "start": {
                                    "line": 594,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 594,
                                    "column": 48
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "sourceResource",
                                          "range": [
                                            21832,
                                            21846
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 595,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 595,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_dependents",
                                          "range": [
                                            21847,
                                            21858
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 595,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 595,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "range": [
                                          21832,
                                          21858
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 595,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 595,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "sourceResource",
                                              "range": [
                                                21861,
                                                21875
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 595,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 595,
                                                  "column": 51
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "_dependents",
                                              "range": [
                                                21876,
                                                21887
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 595,
                                                  "column": 52
                                                },
                                                "end": {
                                                  "line": 595,
                                                  "column": 63
                                                }
                                              }
                                            },
                                            "range": [
                                              21861,
                                              21887
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 595,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 595,
                                                "column": 63
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "filter",
                                            "range": [
                                              21888,
                                              21894
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 595,
                                                "column": 64
                                              },
                                              "end": {
                                                "line": 595,
                                                "column": 70
                                              }
                                            }
                                          },
                                          "range": [
                                            21861,
                                            21894
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 595,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 595,
                                              "column": 70
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "ArrowFunctionExpression",
                                            "id": null,
                                            "params": [
                                              {
                                                "type": "Identifier",
                                                "name": "r",
                                                "range": [
                                                  21895,
                                                  21896
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 595,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 595,
                                                    "column": 72
                                                  }
                                                }
                                              }
                                            ],
                                            "body": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ReturnStatement",
                                                  "argument": {
                                                    "type": "UnaryExpression",
                                                    "operator": "!",
                                                    "argument": {
                                                      "type": "LogicalExpression",
                                                      "operator": "&&",
                                                      "left": {
                                                        "type": "LogicalExpression",
                                                        "operator": "&&",
                                                        "left": {
                                                          "type": "BinaryExpression",
                                                          "operator": "===",
                                                          "left": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "r",
                                                              "range": [
                                                                21921,
                                                                21922
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 596,
                                                                  "column": 19
                                                                },
                                                                "end": {
                                                                  "line": 596,
                                                                  "column": 20
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "type",
                                                              "range": [
                                                                21923,
                                                                21927
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 596,
                                                                  "column": 21
                                                                },
                                                                "end": {
                                                                  "line": 596,
                                                                  "column": 25
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              21921,
                                                              21927
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 596,
                                                                "column": 19
                                                              },
                                                              "end": {
                                                                "line": 596,
                                                                "column": 25
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "targetResource",
                                                              "range": [
                                                                21932,
                                                                21946
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 596,
                                                                  "column": 30
                                                                },
                                                                "end": {
                                                                  "line": 596,
                                                                  "column": 44
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "type",
                                                              "range": [
                                                                21947,
                                                                21951
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 596,
                                                                  "column": 45
                                                                },
                                                                "end": {
                                                                  "line": 596,
                                                                  "column": 49
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              21932,
                                                              21951
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 596,
                                                                "column": 30
                                                              },
                                                              "end": {
                                                                "line": 596,
                                                                "column": 49
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            21921,
                                                            21951
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 596,
                                                              "column": 19
                                                            },
                                                            "end": {
                                                              "line": 596,
                                                              "column": 49
                                                            }
                                                          }
                                                        },
                                                        "right": {
                                                          "type": "BinaryExpression",
                                                          "operator": "===",
                                                          "left": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "r",
                                                              "range": [
                                                                21955,
                                                                21956
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 596,
                                                                  "column": 53
                                                                },
                                                                "end": {
                                                                  "line": 596,
                                                                  "column": 54
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "id",
                                                              "range": [
                                                                21957,
                                                                21959
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 596,
                                                                  "column": 55
                                                                },
                                                                "end": {
                                                                  "line": 596,
                                                                  "column": 57
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              21955,
                                                              21959
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 596,
                                                                "column": 53
                                                              },
                                                              "end": {
                                                                "line": 596,
                                                                "column": 57
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "targetResource",
                                                              "range": [
                                                                21964,
                                                                21978
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 596,
                                                                  "column": 62
                                                                },
                                                                "end": {
                                                                  "line": 596,
                                                                  "column": 76
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "id",
                                                              "range": [
                                                                21979,
                                                                21981
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 596,
                                                                  "column": 77
                                                                },
                                                                "end": {
                                                                  "line": 596,
                                                                  "column": 79
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              21964,
                                                              21981
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 596,
                                                                "column": 62
                                                              },
                                                              "end": {
                                                                "line": 596,
                                                                "column": 79
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            21955,
                                                            21981
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 596,
                                                              "column": 53
                                                            },
                                                            "end": {
                                                              "line": 596,
                                                              "column": 79
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          21921,
                                                          21981
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 596,
                                                            "column": 19
                                                          },
                                                          "end": {
                                                            "line": 596,
                                                            "column": 79
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "BinaryExpression",
                                                        "operator": "===",
                                                        "left": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "r",
                                                            "range": [
                                                              21985,
                                                              21986
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 596,
                                                                "column": 83
                                                              },
                                                              "end": {
                                                                "line": 596,
                                                                "column": 84
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "fieldName",
                                                            "range": [
                                                              21987,
                                                              21996
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 596,
                                                                "column": 85
                                                              },
                                                              "end": {
                                                                "line": 596,
                                                                "column": 94
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            21985,
                                                            21996
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 596,
                                                              "column": 83
                                                            },
                                                            "end": {
                                                              "line": 596,
                                                              "column": 94
                                                            }
                                                          }
                                                        },
                                                        "right": {
                                                          "type": "Identifier",
                                                          "name": "targetFieldName",
                                                          "range": [
                                                            22001,
                                                            22016
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 596,
                                                              "column": 99
                                                            },
                                                            "end": {
                                                              "line": 596,
                                                              "column": 114
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          21985,
                                                          22016
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 596,
                                                            "column": 83
                                                          },
                                                          "end": {
                                                            "line": 596,
                                                            "column": 114
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        21921,
                                                        22016
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 596,
                                                          "column": 19
                                                        },
                                                        "end": {
                                                          "line": 596,
                                                          "column": 114
                                                        }
                                                      }
                                                    },
                                                    "prefix": true,
                                                    "range": [
                                                      21919,
                                                      22017
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 596,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 596,
                                                        "column": 115
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    21912,
                                                    22018
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 596,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 596,
                                                      "column": 116
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                21900,
                                                22028
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 595,
                                                  "column": 76
                                                },
                                                "end": {
                                                  "line": 597,
                                                  "column": 9
                                                }
                                              }
                                            },
                                            "generator": false,
                                            "expression": false,
                                            "range": [
                                              21895,
                                              22028
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 595,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 597,
                                                "column": 9
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          21861,
                                          22029
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 595,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 597,
                                            "column": 10
                                          }
                                        }
                                      },
                                      "range": [
                                        21832,
                                        22029
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 595,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 597,
                                          "column": 10
                                        }
                                      }
                                    },
                                    "range": [
                                      21832,
                                      22030
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 595,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 597,
                                        "column": 11
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "targetResource",
                                          "range": [
                                            22039,
                                            22053
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 598,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 598,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "targetFieldName",
                                          "range": [
                                            22054,
                                            22069
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 598,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 598,
                                              "column": 38
                                            }
                                          }
                                        },
                                        "range": [
                                          22039,
                                          22070
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 598,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 598,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "targetResource",
                                              "range": [
                                                22073,
                                                22087
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 598,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 598,
                                                  "column": 56
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "targetFieldName",
                                              "range": [
                                                22088,
                                                22103
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 598,
                                                  "column": 57
                                                },
                                                "end": {
                                                  "line": 598,
                                                  "column": 72
                                                }
                                              }
                                            },
                                            "range": [
                                              22073,
                                              22104
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 598,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 598,
                                                "column": 73
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "filter",
                                            "range": [
                                              22105,
                                              22111
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 598,
                                                "column": 74
                                              },
                                              "end": {
                                                "line": 598,
                                                "column": 80
                                              }
                                            }
                                          },
                                          "range": [
                                            22073,
                                            22111
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 598,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 598,
                                              "column": 80
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "ArrowFunctionExpression",
                                            "id": null,
                                            "params": [
                                              {
                                                "type": "Identifier",
                                                "name": "r",
                                                "range": [
                                                  22112,
                                                  22113
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 598,
                                                    "column": 81
                                                  },
                                                  "end": {
                                                    "line": 598,
                                                    "column": 82
                                                  }
                                                }
                                              }
                                            ],
                                            "body": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ReturnStatement",
                                                  "argument": {
                                                    "type": "BinaryExpression",
                                                    "operator": "!==",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "name": "r",
                                                      "range": [
                                                        22136,
                                                        22137
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 599,
                                                          "column": 17
                                                        },
                                                        "end": {
                                                          "line": 599,
                                                          "column": 18
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "Identifier",
                                                      "name": "sourceResource",
                                                      "range": [
                                                        22142,
                                                        22156
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 599,
                                                          "column": 23
                                                        },
                                                        "end": {
                                                          "line": 599,
                                                          "column": 37
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      22136,
                                                      22156
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 599,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 599,
                                                        "column": 37
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    22129,
                                                    22157
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 599,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 599,
                                                      "column": 38
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                22117,
                                                22167
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 598,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 600,
                                                  "column": 9
                                                }
                                              }
                                            },
                                            "generator": false,
                                            "expression": false,
                                            "range": [
                                              22112,
                                              22167
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 598,
                                                "column": 81
                                              },
                                              "end": {
                                                "line": 600,
                                                "column": 9
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          22073,
                                          22168
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 598,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 600,
                                            "column": 10
                                          }
                                        }
                                      },
                                      "range": [
                                        22039,
                                        22168
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 598,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 600,
                                          "column": 10
                                        }
                                      }
                                    },
                                    "range": [
                                      22039,
                                      22169
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 598,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 600,
                                        "column": 11
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  21822,
                                  22177
                                ],
                                "loc": {
                                  "start": {
                                    "line": 594,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 601,
                                    "column": 7
                                  }
                                }
                              },
                              "alternate": {
                                "type": "IfStatement",
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "targetField",
                                      "range": [
                                        22187,
                                        22198
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 601,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 601,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "type",
                                      "range": [
                                        22199,
                                        22203
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 601,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 601,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "range": [
                                      22187,
                                      22203
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 601,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 601,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": "attr",
                                    "raw": "\"attr\"",
                                    "range": [
                                      22208,
                                      22214
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 601,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 601,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "range": [
                                    22187,
                                    22214
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 601,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 601,
                                      "column": 44
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ThrowStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "Error",
                                          "range": [
                                            22236,
                                            22241
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 602,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 602,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "TemplateLiteral",
                                            "quasis": [
                                              {
                                                "type": "TemplateElement",
                                                "value": {
                                                  "raw": "The the inverse relationship for '",
                                                  "cooked": "The the inverse relationship for '"
                                                },
                                                "tail": false,
                                                "range": [
                                                  22242,
                                                  22279
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 602,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 602,
                                                    "column": 61
                                                  }
                                                }
                                              },
                                              {
                                                "type": "TemplateElement",
                                                "value": {
                                                  "raw": "' is an attribute ('",
                                                  "cooked": "' is an attribute ('"
                                                },
                                                "tail": false,
                                                "range": [
                                                  22294,
                                                  22317
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 602,
                                                    "column": 76
                                                  },
                                                  "end": {
                                                    "line": 602,
                                                    "column": 99
                                                  }
                                                }
                                              },
                                              {
                                                "type": "TemplateElement",
                                                "value": {
                                                  "raw": "')",
                                                  "cooked": "')"
                                                },
                                                "tail": true,
                                                "range": [
                                                  22332,
                                                  22336
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 602,
                                                    "column": 114
                                                  },
                                                  "end": {
                                                    "line": 602,
                                                    "column": 118
                                                  }
                                                }
                                              }
                                            ],
                                            "expressions": [
                                              {
                                                "type": "Identifier",
                                                "name": "sourceFieldName",
                                                "range": [
                                                  22279,
                                                  22294
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 602,
                                                    "column": 61
                                                  },
                                                  "end": {
                                                    "line": 602,
                                                    "column": 76
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Identifier",
                                                "name": "targetFieldName",
                                                "range": [
                                                  22317,
                                                  22332
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 602,
                                                    "column": 99
                                                  },
                                                  "end": {
                                                    "line": 602,
                                                    "column": 114
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              22242,
                                              22336
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 602,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 602,
                                                "column": 118
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          22232,
                                          22337
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 602,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 602,
                                            "column": 119
                                          }
                                        }
                                      },
                                      "range": [
                                        22226,
                                        22338
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 602,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 602,
                                          "column": 120
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    22216,
                                    22346
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 601,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 603,
                                      "column": 7
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  22183,
                                  22346
                                ],
                                "loc": {
                                  "start": {
                                    "line": 601,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 603,
                                    "column": 7
                                  }
                                }
                              },
                              "range": [
                                21785,
                                22346
                              ],
                              "loc": {
                                "start": {
                                  "line": 594,
                                  "column": 13
                                },
                                "end": {
                                  "line": 603,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              21479,
                              22346
                            ],
                            "loc": {
                              "start": {
                                "line": 589,
                                "column": 6
                              },
                              "end": {
                                "line": 603,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          21471,
                          22352
                        ],
                        "loc": {
                          "start": {
                            "line": 588,
                            "column": 21
                          },
                          "end": {
                            "line": 604,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "test": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "sourceField",
                            "range": [
                              22362,
                              22373
                            ],
                            "loc": {
                              "start": {
                                "line": 604,
                                "column": 15
                              },
                              "end": {
                                "line": 604,
                                "column": 26
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "inverse",
                            "range": [
                              22374,
                              22381
                            ],
                            "loc": {
                              "start": {
                                "line": 604,
                                "column": 27
                              },
                              "end": {
                                "line": 604,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            22362,
                            22381
                          ],
                          "loc": {
                            "start": {
                              "line": 604,
                              "column": 15
                            },
                            "end": {
                              "line": 604,
                              "column": 34
                            }
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ThrowStatement",
                              "argument": {
                                "type": "NewExpression",
                                "callee": {
                                  "type": "Identifier",
                                  "name": "Error",
                                  "range": [
                                    22401,
                                    22406
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 605,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 605,
                                      "column": 21
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "TemplateLiteral",
                                    "quasis": [
                                      {
                                        "type": "TemplateElement",
                                        "value": {
                                          "raw": "The the inverse relationship for '",
                                          "cooked": "The the inverse relationship for '"
                                        },
                                        "tail": false,
                                        "range": [
                                          22407,
                                          22444
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 605,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 605,
                                            "column": 59
                                          }
                                        }
                                      },
                                      {
                                        "type": "TemplateElement",
                                        "value": {
                                          "raw": "' is missing ('",
                                          "cooked": "' is missing ('"
                                        },
                                        "tail": false,
                                        "range": [
                                          22459,
                                          22477
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 605,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 605,
                                            "column": 92
                                          }
                                        }
                                      },
                                      {
                                        "type": "TemplateElement",
                                        "value": {
                                          "raw": "')",
                                          "cooked": "')"
                                        },
                                        "tail": true,
                                        "range": [
                                          22496,
                                          22500
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 605,
                                            "column": 111
                                          },
                                          "end": {
                                            "line": 605,
                                            "column": 115
                                          }
                                        }
                                      }
                                    ],
                                    "expressions": [
                                      {
                                        "type": "Identifier",
                                        "name": "sourceFieldName",
                                        "range": [
                                          22444,
                                          22459
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 605,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 605,
                                            "column": 74
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "sourceField",
                                          "range": [
                                            22477,
                                            22488
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 605,
                                              "column": 92
                                            },
                                            "end": {
                                              "line": 605,
                                              "column": 103
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "inverse",
                                          "range": [
                                            22489,
                                            22496
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 605,
                                              "column": 104
                                            },
                                            "end": {
                                              "line": 605,
                                              "column": 111
                                            }
                                          }
                                        },
                                        "range": [
                                          22477,
                                          22496
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 605,
                                            "column": 92
                                          },
                                          "end": {
                                            "line": 605,
                                            "column": 111
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      22407,
                                      22500
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 605,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 605,
                                        "column": 115
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  22397,
                                  22501
                                ],
                                "loc": {
                                  "start": {
                                    "line": 605,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 605,
                                    "column": 116
                                  }
                                }
                              },
                              "range": [
                                22391,
                                22502
                              ],
                              "loc": {
                                "start": {
                                  "line": 605,
                                  "column": 6
                                },
                                "end": {
                                  "line": 605,
                                  "column": 117
                                }
                              }
                            }
                          ],
                          "range": [
                            22383,
                            22508
                          ],
                          "loc": {
                            "start": {
                              "line": 604,
                              "column": 36
                            },
                            "end": {
                              "line": 606,
                              "column": 5
                            }
                          }
                        },
                        "alternate": null,
                        "range": [
                          22358,
                          22508
                        ],
                        "loc": {
                          "start": {
                            "line": 604,
                            "column": 11
                          },
                          "end": {
                            "line": 606,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        21454,
                        22508
                      ],
                      "loc": {
                        "start": {
                          "line": 588,
                          "column": 4
                        },
                        "end": {
                          "line": 606,
                          "column": 5
                        }
                      }
                    }
                  ],
                  "range": [
                    21045,
                    22512
                  ],
                  "loc": {
                    "start": {
                      "line": 581,
                      "column": 91
                    },
                    "end": {
                      "line": 607,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  20982,
                  22512
                ],
                "loc": {
                  "start": {
                    "line": 581,
                    "column": 28
                  },
                  "end": {
                    "line": 607,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                20956,
                22512
              ],
              "loc": {
                "start": {
                  "line": 581,
                  "column": 2
                },
                "end": {
                  "line": 607,
                  "column": 3
                }
              },
              "static": false
            }
          ],
          "range": [
            101,
            22515
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 27
            },
            "end": {
              "line": 609,
              "column": 1
            }
          }
        },
        "range": [
          89,
          22515
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 15
          },
          "end": {
            "line": 609,
            "column": 1
          }
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "range": [
        74,
        22515
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 609,
          "column": 1
        }
      }
    },
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "AssignmentExpression",
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "computed": false,
          "object": {
            "type": "Identifier",
            "name": "Store",
            "range": [
              22517,
              22522
            ],
            "loc": {
              "start": {
                "line": 611,
                "column": 0
              },
              "end": {
                "line": 611,
                "column": 5
              }
            }
          },
          "property": {
            "type": "Identifier",
            "name": "AjaxAdapter",
            "range": [
              22523,
              22534
            ],
            "loc": {
              "start": {
                "line": 611,
                "column": 6
              },
              "end": {
                "line": 611,
                "column": 17
              }
            }
          },
          "range": [
            22517,
            22534
          ],
          "loc": {
            "start": {
              "line": 611,
              "column": 0
            },
            "end": {
              "line": 611,
              "column": 17
            }
          }
        },
        "right": {
          "type": "Identifier",
          "name": "AjaxAdapter",
          "range": [
            22537,
            22548
          ],
          "loc": {
            "start": {
              "line": 611,
              "column": 20
            },
            "end": {
              "line": 611,
              "column": 31
            }
          }
        },
        "range": [
          22517,
          22548
        ],
        "loc": {
          "start": {
            "line": 611,
            "column": 0
          },
          "end": {
            "line": 611,
            "column": 31
          }
        }
      },
      "range": [
        22517,
        22549
      ],
      "loc": {
        "start": {
          "line": 611,
          "column": 0
        },
        "end": {
          "line": 611,
          "column": 32
        }
      }
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    22549
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 611,
      "column": 32
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n   * Creates a field definition for an attribute.\n   *\n   * @since 0.1.0\n   * @param {string} [name] - Name of the property to map this field from.\n   * @param {Object} [options] - An options object.\n   * @param {string} [options.default] - Default value for this field.\n   * @return {Object} - Field definition.\n   ",
      "range": [
        106,
        428
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 2
        },
        "end": {
          "line": 14,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Creates a field definition for an has-one relationship.\n   *\n   * @since 0.1.0\n   * @param {string} [name] - Name of the property to map this field from.\n   * @param {Object} [options] - An options object.\n   * @param {string} [options.inverse] - Name of the inverse relationship.\n   * @return {Object} - Field definition.\n   ",
      "range": [
        897,
        1234
      ],
      "loc": {
        "start": {
          "line": 32,
          "column": 2
        },
        "end": {
          "line": 40,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Creates a field definition for an has-many relationship.\n   *\n   * @since 0.1.0\n   * @param {string} [name] - Name of the property to map this field from.\n   * @param {Object} [options] - An options object.\n   * @param {string} [options.inverse] - Name of the inverse relationship.\n   * @return {Object} - Field definition.\n   ",
      "range": [
        2282,
        2620
      ],
      "loc": {
        "start": {
          "line": 74,
          "column": 2
        },
        "end": {
          "line": 82,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Add an individual resource to the store. This is used internally by the\n   * `push()` method.\n   *\n   * @since 0.1.0\n   * @param {!Object} object - Resource Object to add. See:\n            http://jsonapi.org/format/#document-resource-objects\n   * @return {undefined} - Nothing.\n   ",
      "range": [
        3873,
        4165
      ],
      "loc": {
        "start": {
          "line": 124,
          "column": 2
        },
        "end": {
          "line": 132,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Converts the given partial into a JSON API compliant representation.\n   *\n   * @since 0.5.0\n   * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n   * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n   * @param {!object} partial - The data to convert.\n   * @return {object} - JSON API version of the object.\n   ",
      "range": [
        5213,
        5659
      ],
      "loc": {
        "start": {
          "line": 158,
          "column": 2
        },
        "end": {
          "line": 166,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Attempts to create the resource through the adapter and adds it to  the\n   * store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!Object} partial - Data to create the resource with.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.create(\"product\", { title: \"A Book\" }, (product) => {\n   *   console.log(product.title);\n   * });\n   ",
      "range": [
        6293,
        6954
      ],
      "loc": {
        "start": {
          "line": 191,
          "column": 2
        },
        "end": {
          "line": 209,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Defines a type of resource.\n   *\n   * @since 0.2.0\n   * @param {!string|string[]} names - Name(s) of the resource.\n   * @param {!Object} definition - The resource's definition.\n   * @return {undefined} - Nothing.\n   ",
      "range": [
        7252,
        7479
      ],
      "loc": {
        "start": {
          "line": 218,
          "column": 2
        },
        "end": {
          "line": 225,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Attempts to delete the resource through the adapter and removes it from\n   * the store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} id - ID of resource.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.destroy(\"product\", \"1\", () => {\n   *   console.log(\"Destroyed!\");\n   * });\n   ",
      "range": [
        7956,
        8575
      ],
      "loc": {
        "start": {
          "line": 242,
          "column": 2
        },
        "end": {
          "line": 260,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Find a resource or entire collection of resources.\n   *\n   * NOTE: If the resource hasn't been loaded via an add() or push() call it\n   * will be automatically created when find is called.\n   *\n   * @since 0.1.0\n   * @param {!string} type - Type of the resource(s) to find.\n   * @param {string} [id] - The id of the resource to find. If omitted all\n   *                        resources of the type will be returned.\n   * @return {Object|Object[]} - Either the resource or an array of resources.\n   ",
      "range": [
        8865,
        9375
      ],
      "loc": {
        "start": {
          "line": 269,
          "column": 2
        },
        "end": {
          "line": 280,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Attempts to load the resource(s) through the adapter and adds it/them to\n   * the store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} [id] - ID of resource.\n   * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.load(\"product\", \"1\", (product) => {\n   *   console.log(product.title);\n   * });\n   ",
      "range": [
        10312,
        11058
      ],
      "loc": {
        "start": {
          "line": 314,
          "column": 2
        },
        "end": {
          "line": 333,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Unregister an event listener that was registered with on().\n   *\n   * @since 0.4.0\n   * @param {string} event - Name of the event.\n   * @param {string} type - Name of resource to originally passed to on().\n   * @param {string} [id] - ID of the resource to originally passed to on().\n   * @param {function} callback - Function originally passed to on().\n   * @return {undefined} - Nothing.\n   ",
      "range": [
        11360,
        11763
      ],
      "loc": {
        "start": {
          "line": 342,
          "column": 2
        },
        "end": {
          "line": 351,
          "column": 5
        }
      }
    },
    {
      "type": "Line",
      "value": " TODO: Performance-wise, this can be made way better. There shouldn't be a need to maintain separate lists.",
      "range": [
        12067,
        12176
      ],
      "loc": {
        "start": {
          "line": 358,
          "column": 10
        },
        "end": {
          "line": 358,
          "column": 119
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Register an event listener: \"added\", \"updated\" or \"removed\".\n   *\n   * @since 0.4.0\n   * @param {string} event - Name of the event.\n   * @param {string} type - Name of resource to watch.\n   * @param {string} [id] - ID of the resource to watch.\n   * @param {function} callback - Function to call when the event occurs.\n   * @param {Object} [context] - Context in which to call the callback.\n   * @return {undefined} - Nothing.\n   ",
      "range": [
        12970,
        13410
      ],
      "loc": {
        "start": {
          "line": 381,
          "column": 2
        },
        "end": {
          "line": 391,
          "column": 5
        }
      }
    },
    {
      "type": "Line",
      "value": " TODO: Performance-wise, this can be made way better. There shouldn't be a need to maintain separate lists.",
      "range": [
        13721,
        13830
      ],
      "loc": {
        "start": {
          "line": 398,
          "column": 10
        },
        "end": {
          "line": 398,
          "column": 119
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Add a JSON API response to the store. This method can be used to handle a\n   * successful GET or POST response from the server.\n   *\n   * @since 0.1.0\n   * @param {Object} root - Top Level Object to push. See:\n                            http://jsonapi.org/format/#document-top-level\n   * @return {undefined} - Nothing.\n   ",
      "range": [
        14803,
        15137
      ],
      "loc": {
        "start": {
          "line": 422,
          "column": 2
        },
        "end": {
          "line": 430,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Remove a resource or collection of resources from the store.\n   *\n   * @since 0.1.0\n   * @param {!string} type - Type of the resource(s) to remove.\n   * @param {string} [id] - The id of the resource to remove. If omitted all\n   *                        resources of the type will be removed.\n   * @return {undefined} - Nothing.\n   ",
      "range": [
        15370,
        15712
      ],
      "loc": {
        "start": {
          "line": 442,
          "column": 2
        },
        "end": {
          "line": 450,
          "column": 5
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n   * Attempts to update the resource through the adapter and updates it in  the\n   * store if successful.\n   *\n   * @since 0.5.0\n   * @param {!string} type - Type of resource.\n   * @param {!string} id - ID of resource.\n   * @param {!Object} partial - Data to update the resource with.\n   * @param {function} [success] - Callback on success.\n   * @param {function} [error] - Callback on error.\n   * @param {Object} [context] - Context for the callbacks.\n   * @return {undefined} - Nothing.\n   *\n   * @example\n   * let adapter = new Store.AjaxAdapter();\n   * let store = new Store(adpater);\n   * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n   *   console.log(product.title);\n   * });\n   ",
      "range": [
        16610,
        17319
      ],
      "loc": {
        "start": {
          "line": 476,
          "column": 2
        },
        "end": {
          "line": 495,
          "column": 5
        }
      }
    },
    {
      "type": "Line",
      "value": " TODO: This only needs to be run once for each dependent.",
      "range": [
        20670,
        20729
      ],
      "loc": {
        "start": {
          "line": 573,
          "column": 6
        },
        "end": {
          "line": 573,
          "column": 65
        }
      }
    }
  ]
}