{
  "type": "File",
  "start": 0,
  "end": 3208,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 88,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3208,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 88,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 46,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 46
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 8,
            "end": 12,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 12
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 8,
              "end": 12,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 8
                },
                "end": {
                  "line": 1,
                  "column": 12
                },
                "identifierName": "bind"
              },
              "name": "bind"
            },
            "local": {
              "type": "Identifier",
              "start": 8,
              "end": 12,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 8
                },
                "end": {
                  "line": 1,
                  "column": 12
                },
                "identifierName": "bind"
              },
              "name": "bind"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 19,
          "end": 45,
          "loc": {
            "start": {
              "line": 1,
              "column": 19
            },
            "end": {
              "line": 1,
              "column": 45
            }
          },
          "extra": {
            "rawValue": "alt-utils/lib/decorators",
            "raw": "'alt-utils/lib/decorators'"
          },
          "value": "alt-utils/lib/decorators"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 48,
        "end": 93,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 55,
            "end": 68,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 20
              }
            },
            "local": {
              "type": "Identifier",
              "start": 55,
              "end": 68,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 20
                },
                "identifierName": "flattenArrays"
              },
              "name": "flattenArrays"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 74,
          "end": 92,
          "loc": {
            "start": {
              "line": 2,
              "column": 26
            },
            "end": {
              "line": 2,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "../utils/flatten",
            "raw": "'../utils/flatten'"
          },
          "value": "../utils/flatten"
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * Decorates a store with any number of action handlers.\r\n ",
            "start": 97,
            "end": 163,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 165,
        "end": 518,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 13,
            "column": 1
          }
        },
        "declaration": {
          "type": "FunctionDeclaration",
          "start": 180,
          "end": 518,
          "loc": {
            "start": {
              "line": 7,
              "column": 15
            },
            "end": {
              "line": 13,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 189,
            "end": 201,
            "loc": {
              "start": {
                "line": 7,
                "column": 24
              },
              "end": {
                "line": 7,
                "column": 36
              },
              "identifierName": "bindHandlers"
            },
            "name": "bindHandlers",
            "leadingComments": null
          },
          "generator": false,
          "expression": false,
          "async": false,
          "params": [
            {
              "type": "Identifier",
              "start": 202,
              "end": 209,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 37
                },
                "end": {
                  "line": 7,
                  "column": 44
                },
                "identifierName": "actions"
              },
              "name": "actions"
            },
            {
              "type": "RestElement",
              "start": 211,
              "end": 222,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 46
                },
                "end": {
                  "line": 7,
                  "column": 57
                }
              },
              "argument": {
                "type": "Identifier",
                "start": 214,
                "end": 222,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 49
                  },
                  "end": {
                    "line": 7,
                    "column": 57
                  },
                  "identifierName": "handlers"
                },
                "name": "handlers"
              }
            }
          ],
          "body": {
            "type": "BlockStatement",
            "start": 224,
            "end": 518,
            "loc": {
              "start": {
                "line": 7,
                "column": 59
              },
              "end": {
                "line": 13,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ReturnStatement",
                "start": 231,
                "end": 515,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 4
                  },
                  "end": {
                    "line": 12,
                    "column": 6
                  }
                },
                "argument": {
                  "type": "FunctionExpression",
                  "start": 238,
                  "end": 514,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 11
                    },
                    "end": {
                      "line": 12,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 247,
                    "end": 260,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 20
                      },
                      "end": {
                        "line": 8,
                        "column": 33
                      },
                      "identifierName": "decorateStore"
                    },
                    "name": "decorateStore"
                  },
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 261,
                      "end": 271,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 34
                        },
                        "end": {
                          "line": 8,
                          "column": 44
                        },
                        "identifierName": "storeClass"
                      },
                      "name": "storeClass"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 273,
                    "end": 514,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 46
                      },
                      "end": {
                        "line": 12,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 372,
                        "end": 479,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 115
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 372,
                          "end": 478,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 114
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 372,
                            "end": 403,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 372,
                              "end": 395,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 8
                                },
                                "end": {
                                  "line": 10,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 372,
                                "end": 385,
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 21
                                  },
                                  "identifierName": "flattenArrays"
                                },
                                "name": "flattenArrays",
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 386,
                                  "end": 394,
                                  "loc": {
                                    "start": {
                                      "line": 10,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 10,
                                      "column": 30
                                    },
                                    "identifierName": "handlers"
                                  },
                                  "name": "handlers"
                                }
                              ],
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 396,
                              "end": 403,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 32
                                },
                                "end": {
                                  "line": 10,
                                  "column": 39
                                },
                                "identifierName": "forEach"
                              },
                              "name": "forEach"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 404,
                              "end": 477,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 40
                                },
                                "end": {
                                  "line": 10,
                                  "column": 113
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": true,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 404,
                                  "end": 411,
                                  "loc": {
                                    "start": {
                                      "line": 10,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 10,
                                      "column": 47
                                    },
                                    "identifierName": "handler"
                                  },
                                  "name": "handler"
                                }
                              ],
                              "body": {
                                "type": "CallExpression",
                                "start": 415,
                                "end": 477,
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 113
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 415,
                                  "end": 433,
                                  "loc": {
                                    "start": {
                                      "line": 10,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 10,
                                      "column": 69
                                    },
                                    "identifierName": "attachBoundHandler"
                                  },
                                  "name": "attachBoundHandler"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 434,
                                    "end": 444,
                                    "loc": {
                                      "start": {
                                        "line": 10,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 10,
                                        "column": 80
                                      },
                                      "identifierName": "storeClass"
                                    },
                                    "name": "storeClass"
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 446,
                                    "end": 467,
                                    "loc": {
                                      "start": {
                                        "line": 10,
                                        "column": 82
                                      },
                                      "end": {
                                        "line": 10,
                                        "column": 103
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 446,
                                      "end": 453,
                                      "loc": {
                                        "start": {
                                          "line": 10,
                                          "column": 82
                                        },
                                        "end": {
                                          "line": 10,
                                          "column": 89
                                        },
                                        "identifierName": "actions"
                                      },
                                      "name": "actions"
                                    },
                                    "property": {
                                      "type": "MemberExpression",
                                      "start": 454,
                                      "end": 466,
                                      "loc": {
                                        "start": {
                                          "line": 10,
                                          "column": 90
                                        },
                                        "end": {
                                          "line": 10,
                                          "column": 102
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 454,
                                        "end": 461,
                                        "loc": {
                                          "start": {
                                            "line": 10,
                                            "column": 90
                                          },
                                          "end": {
                                            "line": 10,
                                            "column": 97
                                          },
                                          "identifierName": "handler"
                                        },
                                        "name": "handler"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 462,
                                        "end": 466,
                                        "loc": {
                                          "start": {
                                            "line": 10,
                                            "column": 98
                                          },
                                          "end": {
                                            "line": 10,
                                            "column": 102
                                          },
                                          "identifierName": "name"
                                        },
                                        "name": "name"
                                      },
                                      "computed": false
                                    },
                                    "computed": true
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 469,
                                    "end": 476,
                                    "loc": {
                                      "start": {
                                        "line": 10,
                                        "column": 105
                                      },
                                      "end": {
                                        "line": 10,
                                        "column": 112
                                      },
                                      "identifierName": "handler"
                                    },
                                    "name": "handler"
                                  }
                                ]
                              }
                            }
                          ],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " attach bound handler methods to the store class for each handler definition",
                            "start": 284,
                            "end": 362,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 8
                              },
                              "end": {
                                "line": 9,
                                "column": 86
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 489,
                        "end": 507,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 8
                          },
                          "end": {
                            "line": 11,
                            "column": 26
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 496,
                          "end": 506,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 15
                            },
                            "end": {
                              "line": 11,
                              "column": 25
                            },
                            "identifierName": "storeClass"
                          },
                          "name": "storeClass"
                        }
                      }
                    ],
                    "directives": []
                  }
                }
              }
            ],
            "directives": [],
            "trailingComments": null
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\r\n * Decorates a store with any number of action handlers.\r\n ",
              "start": 97,
              "end": 163,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 0
                },
                "end": {
                  "line": 6,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": [
            {
              "type": "CommentBlock",
              "value": "*\r\n * Attaches a single reducer handling to the store.\r\n *\r\n * A new handler method will be created on the store class.\r\n * The handler method invokes the reducer giving it the current store state.\r\n * It then sets the reducer result as the new store state.\r\n *\r\n * If a sideEffect function is defined, it will be called with the signature `{state, prevState, payload}`\r\n *\r\n * @param {object} storeClass - The class of the store to be decorated\r\n * @param {object} action - An altjs action\r\n * @param {object} handler - An handler object with `{name[, reducer, sideEffect]}`\r\n ",
              "start": 520,
              "end": 1102,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 0
                },
                "end": {
                  "line": 26,
                  "column": 3
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * Decorates a store with any number of action handlers.\r\n ",
            "start": 97,
            "end": 163,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * Attaches a single reducer handling to the store.\r\n *\r\n * A new handler method will be created on the store class.\r\n * The handler method invokes the reducer giving it the current store state.\r\n * It then sets the reducer result as the new store state.\r\n *\r\n * If a sideEffect function is defined, it will be called with the signature `{state, prevState, payload}`\r\n *\r\n * @param {object} storeClass - The class of the store to be decorated\r\n * @param {object} action - An altjs action\r\n * @param {object} handler - An handler object with `{name[, reducer, sideEffect]}`\r\n ",
            "start": 520,
            "end": 1102,
            "loc": {
              "start": {
                "line": 14,
                "column": 0
              },
              "end": {
                "line": 26,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "FunctionDeclaration",
        "start": 1104,
        "end": 3205,
        "loc": {
          "start": {
            "line": 27,
            "column": 0
          },
          "end": {
            "line": 87,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1113,
          "end": 1131,
          "loc": {
            "start": {
              "line": 27,
              "column": 9
            },
            "end": {
              "line": 27,
              "column": 27
            },
            "identifierName": "attachBoundHandler"
          },
          "name": "attachBoundHandler",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 1132,
            "end": 1142,
            "loc": {
              "start": {
                "line": 27,
                "column": 28
              },
              "end": {
                "line": 27,
                "column": 38
              },
              "identifierName": "storeClass"
            },
            "name": "storeClass"
          },
          {
            "type": "Identifier",
            "start": 1144,
            "end": 1150,
            "loc": {
              "start": {
                "line": 27,
                "column": 40
              },
              "end": {
                "line": 27,
                "column": 46
              },
              "identifierName": "action"
            },
            "name": "action"
          },
          {
            "type": "Identifier",
            "start": 1152,
            "end": 1159,
            "loc": {
              "start": {
                "line": 27,
                "column": 48
              },
              "end": {
                "line": 27,
                "column": 55
              },
              "identifierName": "handler"
            },
            "name": "handler"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 1161,
          "end": 3205,
          "loc": {
            "start": {
              "line": 27,
              "column": 57
            },
            "end": {
              "line": 87,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 1195,
              "end": 1241,
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 30,
                  "column": 50
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1201,
                  "end": 1240,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 10
                    },
                    "end": {
                      "line": 30,
                      "column": 49
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1201,
                    "end": 1211,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 10
                      },
                      "end": {
                        "line": 30,
                        "column": 20
                      },
                      "identifierName": "methodName"
                    },
                    "name": "methodName",
                    "leadingComments": null
                  },
                  "init": {
                    "type": "TemplateLiteral",
                    "start": 1214,
                    "end": 1240,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 23
                      },
                      "end": {
                        "line": 30,
                        "column": 49
                      }
                    },
                    "expressions": [
                      {
                        "type": "MemberExpression",
                        "start": 1226,
                        "end": 1238,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 35
                          },
                          "end": {
                            "line": 30,
                            "column": 47
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1226,
                          "end": 1233,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 35
                            },
                            "end": {
                              "line": 30,
                              "column": 42
                            },
                            "identifierName": "handler"
                          },
                          "name": "handler"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1234,
                          "end": 1238,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 43
                            },
                            "end": {
                              "line": 30,
                              "column": 47
                            },
                            "identifierName": "name"
                          },
                          "name": "name"
                        },
                        "computed": false
                      }
                    ],
                    "quasis": [
                      {
                        "type": "TemplateElement",
                        "start": 1215,
                        "end": 1224,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 24
                          },
                          "end": {
                            "line": 30,
                            "column": 33
                          }
                        },
                        "value": {
                          "raw": "__handle_",
                          "cooked": "__handle_"
                        },
                        "tail": false
                      },
                      {
                        "type": "TemplateElement",
                        "start": 1239,
                        "end": 1239,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 48
                          },
                          "end": {
                            "line": 30,
                            "column": 48
                          }
                        },
                        "value": {
                          "raw": "",
                          "cooked": ""
                        },
                        "tail": true
                      }
                    ]
                  },
                  "leadingComments": null
                }
              ],
              "kind": "const",
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " name is required",
                  "start": 1168,
                  "end": 1187,
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 4
                    },
                    "end": {
                      "line": 28,
                      "column": 23
                    }
                  }
                }
              ]
            },
            {
              "type": "IfStatement",
              "start": 1249,
              "end": 1339,
              "loc": {
                "start": {
                  "line": 32,
                  "column": 4
                },
                "end": {
                  "line": 32,
                  "column": 94
                }
              },
              "test": {
                "type": "MemberExpression",
                "start": 1253,
                "end": 1285,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 8
                  },
                  "end": {
                    "line": 32,
                    "column": 40
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 1253,
                  "end": 1273,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 8
                    },
                    "end": {
                      "line": 32,
                      "column": 28
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1253,
                    "end": 1263,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 8
                      },
                      "end": {
                        "line": 32,
                        "column": 18
                      },
                      "identifierName": "storeClass"
                    },
                    "name": "storeClass"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1264,
                    "end": 1273,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 19
                      },
                      "end": {
                        "line": 32,
                        "column": 28
                      },
                      "identifierName": "prototype"
                    },
                    "name": "prototype"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 1274,
                  "end": 1284,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 29
                    },
                    "end": {
                      "line": 32,
                      "column": 39
                    },
                    "identifierName": "methodName"
                  },
                  "name": "methodName"
                },
                "computed": true
              },
              "consequent": {
                "type": "ThrowStatement",
                "start": 1287,
                "end": 1339,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 42
                  },
                  "end": {
                    "line": 32,
                    "column": 94
                  }
                },
                "argument": {
                  "type": "NewExpression",
                  "start": 1293,
                  "end": 1338,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 48
                    },
                    "end": {
                      "line": 32,
                      "column": 93
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 1297,
                    "end": 1302,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 52
                      },
                      "end": {
                        "line": 32,
                        "column": 57
                      },
                      "identifierName": "Error"
                    },
                    "name": "Error"
                  },
                  "arguments": [
                    {
                      "type": "TemplateLiteral",
                      "start": 1303,
                      "end": 1337,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 58
                        },
                        "end": {
                          "line": 32,
                          "column": 92
                        }
                      },
                      "expressions": [
                        {
                          "type": "Identifier",
                          "start": 1324,
                          "end": 1334,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 79
                            },
                            "end": {
                              "line": 32,
                              "column": 89
                            },
                            "identifierName": "methodName"
                          },
                          "name": "methodName"
                        }
                      ],
                      "quasis": [
                        {
                          "type": "TemplateElement",
                          "start": 1304,
                          "end": 1322,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 59
                            },
                            "end": {
                              "line": 32,
                              "column": 77
                            }
                          },
                          "value": {
                            "raw": "Duplicate method \"",
                            "cooked": "Duplicate method \""
                          },
                          "tail": false
                        },
                        {
                          "type": "TemplateElement",
                          "start": 1335,
                          "end": 1336,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 90
                            },
                            "end": {
                              "line": 32,
                              "column": 91
                            }
                          },
                          "value": {
                            "raw": "\"",
                            "cooked": "\""
                          },
                          "tail": true
                        }
                      ]
                    }
                  ]
                },
                "trailingComments": null
              },
              "alternate": null,
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n     * Handles an action call and sets the next state of the store.\r\n     *\r\n     * @param {any} payload - the single argument that can be specified when calling an action.\r\n     *                      If you need to use more than one argument, use an object with any properties you need.\r\n     ",
                  "start": 1347,
                  "end": 1649,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 4
                    },
                    "end": {
                      "line": 39,
                      "column": 7
                    }
                  }
                }
              ]
            },
            {
              "type": "ExpressionStatement",
              "start": 1655,
              "end": 3014,
              "loc": {
                "start": {
                  "line": 40,
                  "column": 4
                },
                "end": {
                  "line": 77,
                  "column": 6
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 1655,
                "end": 3013,
                "loc": {
                  "start": {
                    "line": 40,
                    "column": 4
                  },
                  "end": {
                    "line": 77,
                    "column": 5
                  }
                },
                "operator": "=",
                "left": {
                  "type": "MemberExpression",
                  "start": 1655,
                  "end": 1687,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 4
                    },
                    "end": {
                      "line": 40,
                      "column": 36
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 1655,
                    "end": 1675,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 40,
                        "column": 24
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1655,
                      "end": 1665,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 14
                        },
                        "identifierName": "storeClass"
                      },
                      "name": "storeClass",
                      "leadingComments": null
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1666,
                      "end": 1675,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 15
                        },
                        "end": {
                          "line": 40,
                          "column": 24
                        },
                        "identifierName": "prototype"
                      },
                      "name": "prototype"
                    },
                    "computed": false,
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1676,
                    "end": 1686,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 25
                      },
                      "end": {
                        "line": 40,
                        "column": 35
                      },
                      "identifierName": "methodName"
                    },
                    "name": "methodName"
                  },
                  "computed": true,
                  "leadingComments": null
                },
                "right": {
                  "type": "FunctionExpression",
                  "start": 1690,
                  "end": 3013,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 39
                    },
                    "end": {
                      "line": 77,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1699,
                    "end": 1711,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 48
                      },
                      "end": {
                        "line": 40,
                        "column": 60
                      },
                      "identifierName": "handleAction"
                    },
                    "name": "handleAction"
                  },
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1712,
                      "end": 1719,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 61
                        },
                        "end": {
                          "line": 40,
                          "column": 68
                        },
                        "identifierName": "payload"
                      },
                      "name": "payload"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1721,
                    "end": 3013,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 70
                      },
                      "end": {
                        "line": 77,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 1734,
                        "end": 1803,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 77
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1740,
                            "end": 1802,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 14
                              },
                              "end": {
                                "line": 42,
                                "column": 76
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1740,
                              "end": 1747,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 14
                                },
                                "end": {
                                  "line": 42,
                                  "column": 21
                                },
                                "identifierName": "reducer"
                              },
                              "name": "reducer"
                            },
                            "init": {
                              "type": "LogicalExpression",
                              "start": 1750,
                              "end": 1802,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 24
                                },
                                "end": {
                                  "line": 42,
                                  "column": 76
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 1750,
                                "end": 1783,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1750,
                                  "end": 1772,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1750,
                                    "end": 1757,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 31
                                      },
                                      "identifierName": "handler"
                                    },
                                    "name": "handler"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1758,
                                    "end": 1772,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 46
                                      },
                                      "identifierName": "hasOwnProperty"
                                    },
                                    "name": "hasOwnProperty"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 1773,
                                    "end": 1782,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 56
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "reducer",
                                      "raw": "'reducer'"
                                    },
                                    "value": "reducer"
                                  }
                                ]
                              },
                              "operator": "&&",
                              "right": {
                                "type": "MemberExpression",
                                "start": 1787,
                                "end": 1802,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 76
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1787,
                                  "end": 1794,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 68
                                    },
                                    "identifierName": "handler"
                                  },
                                  "name": "handler"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1795,
                                  "end": 1802,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 76
                                    },
                                    "identifierName": "reducer"
                                  },
                                  "name": "reducer"
                                },
                                "computed": false
                              }
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 1813,
                        "end": 1891,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 86
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1819,
                            "end": 1890,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 14
                              },
                              "end": {
                                "line": 43,
                                "column": 85
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1819,
                              "end": 1829,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 14
                                },
                                "end": {
                                  "line": 43,
                                  "column": 24
                                },
                                "identifierName": "sideEffect"
                              },
                              "name": "sideEffect"
                            },
                            "init": {
                              "type": "LogicalExpression",
                              "start": 1832,
                              "end": 1890,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 27
                                },
                                "end": {
                                  "line": 43,
                                  "column": 85
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 1832,
                                "end": 1868,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 63
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1832,
                                  "end": 1854,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1832,
                                    "end": 1839,
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 34
                                      },
                                      "identifierName": "handler"
                                    },
                                    "name": "handler"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1840,
                                    "end": 1854,
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 49
                                      },
                                      "identifierName": "hasOwnProperty"
                                    },
                                    "name": "hasOwnProperty"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 1855,
                                    "end": 1867,
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 62
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "sideEffect",
                                      "raw": "'sideEffect'"
                                    },
                                    "value": "sideEffect"
                                  }
                                ]
                              },
                              "operator": "&&",
                              "right": {
                                "type": "MemberExpression",
                                "start": 1872,
                                "end": 1890,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 85
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1872,
                                  "end": 1879,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 74
                                    },
                                    "identifierName": "handler"
                                  },
                                  "name": "handler"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1880,
                                  "end": 1890,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 85
                                    },
                                    "identifierName": "sideEffect"
                                  },
                                  "name": "sideEffect"
                                },
                                "computed": false
                              }
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 1903,
                        "end": 1935,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 40
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1909,
                            "end": 1934,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 14
                              },
                              "end": {
                                "line": 45,
                                "column": 39
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1909,
                              "end": 1921,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 14
                                },
                                "end": {
                                  "line": 45,
                                  "column": 26
                                },
                                "identifierName": "currentState"
                              },
                              "name": "currentState"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 1924,
                              "end": 1934,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 29
                                },
                                "end": {
                                  "line": 45,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1924,
                                "end": 1928,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 33
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1929,
                                "end": 1934,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 39
                                  },
                                  "identifierName": "state"
                                },
                                "name": "state"
                              },
                              "computed": false
                            }
                          }
                        ],
                        "kind": "const",
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " the actual operation: run the reducer and set its result as state",
                            "start": 1949,
                            "end": 2017,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 76
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 2027,
                        "end": 2056,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 37
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2031,
                            "end": 2055,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 12
                              },
                              "end": {
                                "line": 49,
                                "column": 36
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2031,
                              "end": 2040,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 12
                                },
                                "end": {
                                  "line": 49,
                                  "column": 21
                                },
                                "identifierName": "nextState"
                              },
                              "name": "nextState",
                              "leadingComments": null
                            },
                            "init": {
                              "type": "Identifier",
                              "start": 2043,
                              "end": 2055,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 24
                                },
                                "end": {
                                  "line": 49,
                                  "column": 36
                                },
                                "identifierName": "currentState"
                              },
                              "name": "currentState"
                            },
                            "leadingComments": null
                          }
                        ],
                        "kind": "let",
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " the actual operation: run the reducer and set its result as state",
                            "start": 1949,
                            "end": 2017,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 76
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 2066,
                        "end": 2324,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "Identifier",
                          "start": 2070,
                          "end": 2077,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 12
                            },
                            "end": {
                              "line": 50,
                              "column": 19
                            },
                            "identifierName": "reducer"
                          },
                          "name": "reducer"
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 2079,
                          "end": 2324,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 21
                            },
                            "end": {
                              "line": 57,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "TryStatement",
                              "start": 2094,
                              "end": 2313,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 12
                                },
                                "end": {
                                  "line": 56,
                                  "column": 13
                                }
                              },
                              "block": {
                                "type": "BlockStatement",
                                "start": 2098,
                                "end": 2175,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 13
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 2117,
                                    "end": 2160,
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 59
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 2117,
                                      "end": 2159,
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 58
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 2117,
                                        "end": 2126,
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 25
                                          },
                                          "identifierName": "nextState"
                                        },
                                        "name": "nextState"
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 2129,
                                        "end": 2159,
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 58
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 2129,
                                          "end": 2136,
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 35
                                            },
                                            "identifierName": "reducer"
                                          },
                                          "name": "reducer"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 2137,
                                            "end": 2149,
                                            "loc": {
                                              "start": {
                                                "line": 52,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 48
                                              },
                                              "identifierName": "currentState"
                                            },
                                            "name": "currentState"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2151,
                                            "end": 2158,
                                            "loc": {
                                              "start": {
                                                "line": 52,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 57
                                              },
                                              "identifierName": "payload"
                                            },
                                            "name": "payload"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "directives": []
                              },
                              "handler": {
                                "type": "CatchClause",
                                "start": 2189,
                                "end": 2313,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 13
                                  }
                                },
                                "param": {
                                  "type": "Identifier",
                                  "start": 2196,
                                  "end": 2201,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 24
                                    },
                                    "identifierName": "error"
                                  },
                                  "name": "error"
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2203,
                                  "end": 2313,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2222,
                                      "end": 2298,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 92
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2222,
                                        "end": 2297,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 91
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2222,
                                          "end": 2235,
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2222,
                                            "end": 2229,
                                            "loc": {
                                              "start": {
                                                "line": 55,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 55,
                                                "column": 23
                                              },
                                              "identifierName": "console"
                                            },
                                            "name": "console"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2230,
                                            "end": 2235,
                                            "loc": {
                                              "start": {
                                                "line": 55,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 55,
                                                "column": 29
                                              },
                                              "identifierName": "error"
                                            },
                                            "name": "error"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "TemplateLiteral",
                                            "start": 2236,
                                            "end": 2289,
                                            "loc": {
                                              "start": {
                                                "line": 55,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 55,
                                                "column": 83
                                              }
                                            },
                                            "expressions": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 2257,
                                                "end": 2269,
                                                "loc": {
                                                  "start": {
                                                    "line": 55,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 55,
                                                    "column": 63
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2257,
                                                  "end": 2264,
                                                  "loc": {
                                                    "start": {
                                                      "line": 55,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 55,
                                                      "column": 58
                                                    },
                                                    "identifierName": "handler"
                                                  },
                                                  "name": "handler"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2265,
                                                  "end": 2269,
                                                  "loc": {
                                                    "start": {
                                                      "line": 55,
                                                      "column": 59
                                                    },
                                                    "end": {
                                                      "line": 55,
                                                      "column": 63
                                                    },
                                                    "identifierName": "name"
                                                  },
                                                  "name": "name"
                                                },
                                                "computed": false
                                              },
                                              {
                                                "type": "MemberExpression",
                                                "start": 2274,
                                                "end": 2286,
                                                "loc": {
                                                  "start": {
                                                    "line": 55,
                                                    "column": 68
                                                  },
                                                  "end": {
                                                    "line": 55,
                                                    "column": 80
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2274,
                                                  "end": 2281,
                                                  "loc": {
                                                    "start": {
                                                      "line": 55,
                                                      "column": 68
                                                    },
                                                    "end": {
                                                      "line": 55,
                                                      "column": 75
                                                    },
                                                    "identifierName": "handler"
                                                  },
                                                  "name": "handler"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2282,
                                                  "end": 2286,
                                                  "loc": {
                                                    "start": {
                                                      "line": 55,
                                                      "column": 76
                                                    },
                                                    "end": {
                                                      "line": 55,
                                                      "column": 80
                                                    },
                                                    "identifierName": "name"
                                                  },
                                                  "name": "name"
                                                },
                                                "computed": false
                                              }
                                            ],
                                            "quasis": [
                                              {
                                                "type": "TemplateElement",
                                                "start": 2237,
                                                "end": 2255,
                                                "loc": {
                                                  "start": {
                                                    "line": 55,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 55,
                                                    "column": 49
                                                  }
                                                },
                                                "value": {
                                                  "raw": "Error in reducer (",
                                                  "cooked": "Error in reducer ("
                                                },
                                                "tail": false
                                              },
                                              {
                                                "type": "TemplateElement",
                                                "start": 2270,
                                                "end": 2272,
                                                "loc": {
                                                  "start": {
                                                    "line": 55,
                                                    "column": 64
                                                  },
                                                  "end": {
                                                    "line": 55,
                                                    "column": 66
                                                  }
                                                },
                                                "value": {
                                                  "raw": ", ",
                                                  "cooked": ", "
                                                },
                                                "tail": false
                                              },
                                              {
                                                "type": "TemplateElement",
                                                "start": 2287,
                                                "end": 2288,
                                                "loc": {
                                                  "start": {
                                                    "line": 55,
                                                    "column": 81
                                                  },
                                                  "end": {
                                                    "line": 55,
                                                    "column": 82
                                                  }
                                                },
                                                "value": {
                                                  "raw": ")",
                                                  "cooked": ")"
                                                },
                                                "tail": true
                                              }
                                            ]
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2291,
                                            "end": 2296,
                                            "loc": {
                                              "start": {
                                                "line": 55,
                                                "column": 85
                                              },
                                              "end": {
                                                "line": 55,
                                                "column": 90
                                              },
                                              "identifierName": "error"
                                            },
                                            "name": "error"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                }
                              },
                              "guardedHandlers": [],
                              "finalizer": null
                            }
                          ],
                          "directives": []
                        },
                        "alternate": null
                      },
                      {
                        "type": "IfStatement",
                        "start": 2334,
                        "end": 2704,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 65,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "Identifier",
                          "start": 2338,
                          "end": 2347,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 12
                            },
                            "end": {
                              "line": 58,
                              "column": 21
                            },
                            "identifierName": "nextState"
                          },
                          "name": "nextState"
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 2349,
                          "end": 2400,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 23
                            },
                            "end": {
                              "line": 60,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 2364,
                              "end": 2389,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 12
                                },
                                "end": {
                                  "line": 59,
                                  "column": 37
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 2364,
                                "end": 2388,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2364,
                                  "end": 2377,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2364,
                                    "end": 2368,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2369,
                                    "end": 2377,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 25
                                      },
                                      "identifierName": "setState"
                                    },
                                    "name": "setState"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 2378,
                                    "end": 2387,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 35
                                      },
                                      "identifierName": "nextState"
                                    },
                                    "name": "nextState"
                                  }
                                ]
                              }
                            }
                          ],
                          "directives": []
                        },
                        "alternate": {
                          "type": "IfStatement",
                          "start": 2415,
                          "end": 2704,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 13
                            },
                            "end": {
                              "line": 65,
                              "column": 9
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 2419,
                            "end": 2426,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 17
                              },
                              "end": {
                                "line": 61,
                                "column": 24
                              },
                              "identifierName": "reducer"
                            },
                            "name": "reducer"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 2428,
                            "end": 2704,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 26
                              },
                              "end": {
                                "line": 65,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 2443,
                                "end": 2693,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 15
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 2443,
                                  "end": 2692,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 14
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2443,
                                    "end": 2455,
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 24
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2443,
                                      "end": 2450,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 19
                                        },
                                        "identifierName": "console"
                                      },
                                      "name": "console"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2451,
                                      "end": 2455,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 24
                                        },
                                        "identifierName": "warn"
                                      },
                                      "name": "warn"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "TemplateLiteral",
                                      "start": 2456,
                                      "end": 2691,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 64,
                                          "column": 13
                                        }
                                      },
                                      "expressions": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 2468,
                                          "end": 2480,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 49
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2468,
                                            "end": 2475,
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 44
                                              },
                                              "identifierName": "handler"
                                            },
                                            "name": "handler"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2476,
                                            "end": 2480,
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 49
                                              },
                                              "identifierName": "name"
                                            },
                                            "name": "name"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 2494,
                                          "end": 2506,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 63
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 75
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2494,
                                            "end": 2501,
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 63
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 70
                                              },
                                              "identifierName": "handler"
                                            },
                                            "name": "handler"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2502,
                                            "end": 2506,
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 75
                                              },
                                              "identifierName": "name"
                                            },
                                            "name": "name"
                                          },
                                          "computed": false
                                        }
                                      ],
                                      "quasis": [
                                        {
                                          "type": "TemplateElement",
                                          "start": 2457,
                                          "end": 2466,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 35
                                            }
                                          },
                                          "value": {
                                            "raw": "reducer \"",
                                            "cooked": "reducer \""
                                          },
                                          "tail": false
                                        },
                                        {
                                          "type": "TemplateElement",
                                          "start": 2481,
                                          "end": 2492,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 61
                                            }
                                          },
                                          "value": {
                                            "raw": "\" in call \"",
                                            "cooked": "\" in call \""
                                          },
                                          "tail": false
                                        },
                                        {
                                          "type": "TemplateElement",
                                          "start": 2507,
                                          "end": 2690,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 76
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 12
                                            }
                                          },
                                          "value": {
                                            "raw": "\" did not return a new state.\n                Either you forgot to return it, or if no state change is required, maybe you should use a sideEffect instead of a reducer.\n            ",
                                            "cooked": "\" did not return a new state.\n                Either you forgot to return it, or if no state change is required, maybe you should use a sideEffect instead of a reducer.\n            "
                                          },
                                          "tail": true
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        }
                      },
                      {
                        "type": "IfStatement",
                        "start": 2720,
                        "end": 3006,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 8
                          },
                          "end": {
                            "line": 76,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "Identifier",
                          "start": 2724,
                          "end": 2734,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 12
                            },
                            "end": {
                              "line": 69,
                              "column": 22
                            },
                            "identifierName": "sideEffect"
                          },
                          "name": "sideEffect"
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 2736,
                          "end": 3006,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 24
                            },
                            "end": {
                              "line": 76,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "TryStatement",
                              "start": 2751,
                              "end": 2995,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 12
                                },
                                "end": {
                                  "line": 75,
                                  "column": 13
                                }
                              },
                              "block": {
                                "type": "BlockStatement",
                                "start": 2755,
                                "end": 2854,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 13
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 2774,
                                    "end": 2839,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 81
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 2774,
                                      "end": 2838,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 80
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 2774,
                                        "end": 2784,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 26
                                          },
                                          "identifierName": "sideEffect"
                                        },
                                        "name": "sideEffect"
                                      },
                                      "arguments": [
                                        {
                                          "type": "ObjectExpression",
                                          "start": 2785,
                                          "end": 2837,
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 79
                                            }
                                          },
                                          "properties": [
                                            {
                                              "type": "ObjectProperty",
                                              "start": 2786,
                                              "end": 2802,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 44
                                                }
                                              },
                                              "method": false,
                                              "shorthand": false,
                                              "computed": false,
                                              "key": {
                                                "type": "Identifier",
                                                "start": 2786,
                                                "end": 2791,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 33
                                                  },
                                                  "identifierName": "state"
                                                },
                                                "name": "state"
                                              },
                                              "value": {
                                                "type": "Identifier",
                                                "start": 2793,
                                                "end": 2802,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 44
                                                  },
                                                  "identifierName": "nextState"
                                                },
                                                "name": "nextState"
                                              }
                                            },
                                            {
                                              "type": "ObjectProperty",
                                              "start": 2804,
                                              "end": 2827,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 69
                                                }
                                              },
                                              "method": false,
                                              "shorthand": false,
                                              "computed": false,
                                              "key": {
                                                "type": "Identifier",
                                                "start": 2804,
                                                "end": 2813,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 55
                                                  },
                                                  "identifierName": "prevState"
                                                },
                                                "name": "prevState"
                                              },
                                              "value": {
                                                "type": "Identifier",
                                                "start": 2815,
                                                "end": 2827,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 57
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 69
                                                  },
                                                  "identifierName": "currentState"
                                                },
                                                "name": "currentState"
                                              }
                                            },
                                            {
                                              "type": "ObjectProperty",
                                              "start": 2829,
                                              "end": 2836,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 71
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 78
                                                }
                                              },
                                              "method": false,
                                              "shorthand": true,
                                              "computed": false,
                                              "key": {
                                                "type": "Identifier",
                                                "start": 2829,
                                                "end": 2836,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 78
                                                  },
                                                  "identifierName": "payload"
                                                },
                                                "name": "payload"
                                              },
                                              "value": {
                                                "type": "Identifier",
                                                "start": 2829,
                                                "end": 2836,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 78
                                                  },
                                                  "identifierName": "payload"
                                                },
                                                "name": "payload"
                                              },
                                              "extra": {
                                                "shorthand": true
                                              }
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "directives": []
                              },
                              "handler": {
                                "type": "CatchClause",
                                "start": 2868,
                                "end": 2995,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 13
                                  }
                                },
                                "param": {
                                  "type": "Identifier",
                                  "start": 2875,
                                  "end": 2880,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 24
                                    },
                                    "identifierName": "error"
                                  },
                                  "name": "error"
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2882,
                                  "end": 2995,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2901,
                                      "end": 2980,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 95
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2901,
                                        "end": 2979,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 94
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2901,
                                          "end": 2914,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2901,
                                            "end": 2908,
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 23
                                              },
                                              "identifierName": "console"
                                            },
                                            "name": "console"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2909,
                                            "end": 2914,
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 29
                                              },
                                              "identifierName": "error"
                                            },
                                            "name": "error"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "TemplateLiteral",
                                            "start": 2915,
                                            "end": 2971,
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 86
                                              }
                                            },
                                            "expressions": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 2939,
                                                "end": 2951,
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 54
                                                  },
                                                  "end": {
                                                    "line": 74,
                                                    "column": 66
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2939,
                                                  "end": 2946,
                                                  "loc": {
                                                    "start": {
                                                      "line": 74,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 74,
                                                      "column": 61
                                                    },
                                                    "identifierName": "handler"
                                                  },
                                                  "name": "handler"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2947,
                                                  "end": 2951,
                                                  "loc": {
                                                    "start": {
                                                      "line": 74,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 74,
                                                      "column": 66
                                                    },
                                                    "identifierName": "name"
                                                  },
                                                  "name": "name"
                                                },
                                                "computed": false
                                              },
                                              {
                                                "type": "MemberExpression",
                                                "start": 2956,
                                                "end": 2968,
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 74,
                                                    "column": 83
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2956,
                                                  "end": 2963,
                                                  "loc": {
                                                    "start": {
                                                      "line": 74,
                                                      "column": 71
                                                    },
                                                    "end": {
                                                      "line": 74,
                                                      "column": 78
                                                    },
                                                    "identifierName": "handler"
                                                  },
                                                  "name": "handler"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2964,
                                                  "end": 2968,
                                                  "loc": {
                                                    "start": {
                                                      "line": 74,
                                                      "column": 79
                                                    },
                                                    "end": {
                                                      "line": 74,
                                                      "column": 83
                                                    },
                                                    "identifierName": "name"
                                                  },
                                                  "name": "name"
                                                },
                                                "computed": false
                                              }
                                            ],
                                            "quasis": [
                                              {
                                                "type": "TemplateElement",
                                                "start": 2916,
                                                "end": 2937,
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 74,
                                                    "column": 52
                                                  }
                                                },
                                                "value": {
                                                  "raw": "Error in sideEffect (",
                                                  "cooked": "Error in sideEffect ("
                                                },
                                                "tail": false
                                              },
                                              {
                                                "type": "TemplateElement",
                                                "start": 2952,
                                                "end": 2954,
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 67
                                                  },
                                                  "end": {
                                                    "line": 74,
                                                    "column": 69
                                                  }
                                                },
                                                "value": {
                                                  "raw": ", ",
                                                  "cooked": ", "
                                                },
                                                "tail": false
                                              },
                                              {
                                                "type": "TemplateElement",
                                                "start": 2969,
                                                "end": 2970,
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 84
                                                  },
                                                  "end": {
                                                    "line": 74,
                                                    "column": 85
                                                  }
                                                },
                                                "value": {
                                                  "raw": ")",
                                                  "cooked": ")"
                                                },
                                                "tail": true
                                              }
                                            ]
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2973,
                                            "end": 2978,
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 88
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 93
                                              },
                                              "identifierName": "error"
                                            },
                                            "name": "error"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                }
                              },
                              "guardedHandlers": [],
                              "finalizer": null
                            }
                          ],
                          "directives": []
                        },
                        "alternate": null
                      }
                    ],
                    "directives": []
                  }
                },
                "leadingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n     * Handles an action call and sets the next state of the store.\r\n     *\r\n     * @param {any} payload - the single argument that can be specified when calling an action.\r\n     *                      If you need to use more than one argument, use an object with any properties you need.\r\n     ",
                  "start": 1347,
                  "end": 1649,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 4
                    },
                    "end": {
                      "line": 39,
                      "column": 7
                    }
                  }
                }
              ]
            },
            {
              "type": "VariableDeclaration",
              "start": 3022,
              "end": 3055,
              "loc": {
                "start": {
                  "line": 79,
                  "column": 4
                },
                "end": {
                  "line": 79,
                  "column": 37
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 3028,
                  "end": 3054,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 10
                    },
                    "end": {
                      "line": 79,
                      "column": 36
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 3028,
                    "end": 3039,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 10
                      },
                      "end": {
                        "line": 79,
                        "column": 21
                      },
                      "identifierName": "bindhandler"
                    },
                    "name": "bindhandler"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 3042,
                    "end": 3054,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 24
                      },
                      "end": {
                        "line": 79,
                        "column": 36
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 3042,
                      "end": 3046,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 24
                        },
                        "end": {
                          "line": 79,
                          "column": 28
                        },
                        "identifierName": "bind"
                      },
                      "name": "bind"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3047,
                        "end": 3053,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 29
                          },
                          "end": {
                            "line": 79,
                            "column": 35
                          },
                          "identifierName": "action"
                        },
                        "name": "action"
                      }
                    ]
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "ExpressionStatement",
              "start": 3063,
              "end": 3200,
              "loc": {
                "start": {
                  "line": 81,
                  "column": 4
                },
                "end": {
                  "line": 85,
                  "column": 6
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 3063,
                "end": 3199,
                "loc": {
                  "start": {
                    "line": 81,
                    "column": 4
                  },
                  "end": {
                    "line": 85,
                    "column": 5
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 3063,
                  "end": 3074,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 4
                    },
                    "end": {
                      "line": 81,
                      "column": 15
                    },
                    "identifierName": "bindhandler"
                  },
                  "name": "bindhandler"
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 3085,
                    "end": 3095,
                    "loc": {
                      "start": {
                        "line": 82,
                        "column": 8
                      },
                      "end": {
                        "line": 82,
                        "column": 18
                      },
                      "identifierName": "storeClass"
                    },
                    "name": "storeClass"
                  },
                  {
                    "type": "Identifier",
                    "start": 3106,
                    "end": 3116,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 8
                      },
                      "end": {
                        "line": 83,
                        "column": 18
                      },
                      "identifierName": "methodName"
                    },
                    "name": "methodName"
                  },
                  {
                    "type": "CallExpression",
                    "start": 3127,
                    "end": 3192,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 8
                      },
                      "end": {
                        "line": 84,
                        "column": 73
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3127,
                      "end": 3158,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 8
                        },
                        "end": {
                          "line": 84,
                          "column": 39
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3127,
                        "end": 3133,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 8
                          },
                          "end": {
                            "line": 84,
                            "column": 14
                          },
                          "identifierName": "Object"
                        },
                        "name": "Object"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3134,
                        "end": 3158,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 15
                          },
                          "end": {
                            "line": 84,
                            "column": 39
                          },
                          "identifierName": "getOwnPropertyDescriptor"
                        },
                        "name": "getOwnPropertyDescriptor"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "MemberExpression",
                        "start": 3159,
                        "end": 3179,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 40
                          },
                          "end": {
                            "line": 84,
                            "column": 60
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3159,
                          "end": 3169,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 40
                            },
                            "end": {
                              "line": 84,
                              "column": 50
                            },
                            "identifierName": "storeClass"
                          },
                          "name": "storeClass"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3170,
                          "end": 3179,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 51
                            },
                            "end": {
                              "line": 84,
                              "column": 60
                            },
                            "identifierName": "prototype"
                          },
                          "name": "prototype"
                        },
                        "computed": false
                      },
                      {
                        "type": "Identifier",
                        "start": 3181,
                        "end": 3191,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 62
                          },
                          "end": {
                            "line": 84,
                            "column": 72
                          },
                          "identifierName": "methodName"
                        },
                        "name": "methodName"
                      }
                    ]
                  }
                ]
              }
            }
          ],
          "directives": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * Attaches a single reducer handling to the store.\r\n *\r\n * A new handler method will be created on the store class.\r\n * The handler method invokes the reducer giving it the current store state.\r\n * It then sets the reducer result as the new store state.\r\n *\r\n * If a sideEffect function is defined, it will be called with the signature `{state, prevState, payload}`\r\n *\r\n * @param {object} storeClass - The class of the store to be decorated\r\n * @param {object} action - An altjs action\r\n * @param {object} handler - An handler object with `{name[, reducer, sideEffect]}`\r\n ",
            "start": 520,
            "end": 1102,
            "loc": {
              "start": {
                "line": 14,
                "column": 0
              },
              "end": {
                "line": 26,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "EmptyStatement",
        "start": 3205,
        "end": 3206,
        "loc": {
          "start": {
            "line": 87,
            "column": 1
          },
          "end": {
            "line": 87,
            "column": 2
          }
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * Decorates a store with any number of action handlers.\r\n ",
      "start": 97,
      "end": 163,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " attach bound handler methods to the store class for each handler definition",
      "start": 284,
      "end": 362,
      "loc": {
        "start": {
          "line": 9,
          "column": 8
        },
        "end": {
          "line": 9,
          "column": 86
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n * Attaches a single reducer handling to the store.\r\n *\r\n * A new handler method will be created on the store class.\r\n * The handler method invokes the reducer giving it the current store state.\r\n * It then sets the reducer result as the new store state.\r\n *\r\n * If a sideEffect function is defined, it will be called with the signature `{state, prevState, payload}`\r\n *\r\n * @param {object} storeClass - The class of the store to be decorated\r\n * @param {object} action - An altjs action\r\n * @param {object} handler - An handler object with `{name[, reducer, sideEffect]}`\r\n ",
      "start": 520,
      "end": 1102,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " name is required",
      "start": 1168,
      "end": 1187,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 23
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Handles an action call and sets the next state of the store.\r\n     *\r\n     * @param {any} payload - the single argument that can be specified when calling an action.\r\n     *                      If you need to use more than one argument, use an object with any properties you need.\r\n     ",
      "start": 1347,
      "end": 1649,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " the actual operation: run the reducer and set its result as state",
      "start": 1949,
      "end": 2017,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 76
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7,
      "end": 8,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 8,
      "end": 12,
      "loc": {
        "start": {
          "line": 1,
          "column": 8
        },
        "end": {
          "line": 1,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 14,
      "end": 18,
      "loc": {
        "start": {
          "line": 1,
          "column": 14
        },
        "end": {
          "line": 1,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "alt-utils/lib/decorators",
      "start": 19,
      "end": 45,
      "loc": {
        "start": {
          "line": 1,
          "column": 19
        },
        "end": {
          "line": 1,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 45,
      "end": 46,
      "loc": {
        "start": {
          "line": 1,
          "column": 45
        },
        "end": {
          "line": 1,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 48,
      "end": 54,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "flattenArrays",
      "start": 55,
      "end": 68,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 69,
      "end": 73,
      "loc": {
        "start": {
          "line": 2,
          "column": 21
        },
        "end": {
          "line": 2,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../utils/flatten",
      "start": 74,
      "end": 92,
      "loc": {
        "start": {
          "line": 2,
          "column": 26
        },
        "end": {
          "line": 2,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 92,
      "end": 93,
      "loc": {
        "start": {
          "line": 2,
          "column": 44
        },
        "end": {
          "line": 2,
          "column": 45
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n * Decorates a store with any number of action handlers.\r\n ",
      "start": 97,
      "end": 163,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 165,
      "end": 171,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 172,
      "end": 179,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "end": {
          "line": 7,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 180,
      "end": 188,
      "loc": {
        "start": {
          "line": 7,
          "column": 15
        },
        "end": {
          "line": 7,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bindHandlers",
      "start": 189,
      "end": 201,
      "loc": {
        "start": {
          "line": 7,
          "column": 24
        },
        "end": {
          "line": 7,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 201,
      "end": 202,
      "loc": {
        "start": {
          "line": 7,
          "column": 36
        },
        "end": {
          "line": 7,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "actions",
      "start": 202,
      "end": 209,
      "loc": {
        "start": {
          "line": 7,
          "column": 37
        },
        "end": {
          "line": 7,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 209,
      "end": 210,
      "loc": {
        "start": {
          "line": 7,
          "column": 44
        },
        "end": {
          "line": 7,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 211,
      "end": 214,
      "loc": {
        "start": {
          "line": 7,
          "column": 46
        },
        "end": {
          "line": 7,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handlers",
      "start": 214,
      "end": 222,
      "loc": {
        "start": {
          "line": 7,
          "column": 49
        },
        "end": {
          "line": 7,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 222,
      "end": 223,
      "loc": {
        "start": {
          "line": 7,
          "column": 57
        },
        "end": {
          "line": 7,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 224,
      "end": 225,
      "loc": {
        "start": {
          "line": 7,
          "column": 59
        },
        "end": {
          "line": 7,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 231,
      "end": 237,
      "loc": {
        "start": {
          "line": 8,
          "column": 4
        },
        "end": {
          "line": 8,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 238,
      "end": 246,
      "loc": {
        "start": {
          "line": 8,
          "column": 11
        },
        "end": {
          "line": 8,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "decorateStore",
      "start": 247,
      "end": 260,
      "loc": {
        "start": {
          "line": 8,
          "column": 20
        },
        "end": {
          "line": 8,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 260,
      "end": 261,
      "loc": {
        "start": {
          "line": 8,
          "column": 33
        },
        "end": {
          "line": 8,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "storeClass",
      "start": 261,
      "end": 271,
      "loc": {
        "start": {
          "line": 8,
          "column": 34
        },
        "end": {
          "line": 8,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 271,
      "end": 272,
      "loc": {
        "start": {
          "line": 8,
          "column": 44
        },
        "end": {
          "line": 8,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 273,
      "end": 274,
      "loc": {
        "start": {
          "line": 8,
          "column": 46
        },
        "end": {
          "line": 8,
          "column": 47
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " attach bound handler methods to the store class for each handler definition",
      "start": 284,
      "end": 362,
      "loc": {
        "start": {
          "line": 9,
          "column": 8
        },
        "end": {
          "line": 9,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "flattenArrays",
      "start": 372,
      "end": 385,
      "loc": {
        "start": {
          "line": 10,
          "column": 8
        },
        "end": {
          "line": 10,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 385,
      "end": 386,
      "loc": {
        "start": {
          "line": 10,
          "column": 21
        },
        "end": {
          "line": 10,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handlers",
      "start": 386,
      "end": 394,
      "loc": {
        "start": {
          "line": 10,
          "column": 22
        },
        "end": {
          "line": 10,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 394,
      "end": 395,
      "loc": {
        "start": {
          "line": 10,
          "column": 30
        },
        "end": {
          "line": 10,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 395,
      "end": 396,
      "loc": {
        "start": {
          "line": 10,
          "column": 31
        },
        "end": {
          "line": 10,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 396,
      "end": 403,
      "loc": {
        "start": {
          "line": 10,
          "column": 32
        },
        "end": {
          "line": 10,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 403,
      "end": 404,
      "loc": {
        "start": {
          "line": 10,
          "column": 39
        },
        "end": {
          "line": 10,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 404,
      "end": 411,
      "loc": {
        "start": {
          "line": 10,
          "column": 40
        },
        "end": {
          "line": 10,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 412,
      "end": 414,
      "loc": {
        "start": {
          "line": 10,
          "column": 48
        },
        "end": {
          "line": 10,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attachBoundHandler",
      "start": 415,
      "end": 433,
      "loc": {
        "start": {
          "line": 10,
          "column": 51
        },
        "end": {
          "line": 10,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 433,
      "end": 434,
      "loc": {
        "start": {
          "line": 10,
          "column": 69
        },
        "end": {
          "line": 10,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "storeClass",
      "start": 434,
      "end": 444,
      "loc": {
        "start": {
          "line": 10,
          "column": 70
        },
        "end": {
          "line": 10,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 444,
      "end": 445,
      "loc": {
        "start": {
          "line": 10,
          "column": 80
        },
        "end": {
          "line": 10,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "actions",
      "start": 446,
      "end": 453,
      "loc": {
        "start": {
          "line": 10,
          "column": 82
        },
        "end": {
          "line": 10,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 453,
      "end": 454,
      "loc": {
        "start": {
          "line": 10,
          "column": 89
        },
        "end": {
          "line": 10,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 454,
      "end": 461,
      "loc": {
        "start": {
          "line": 10,
          "column": 90
        },
        "end": {
          "line": 10,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 461,
      "end": 462,
      "loc": {
        "start": {
          "line": 10,
          "column": 97
        },
        "end": {
          "line": 10,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 462,
      "end": 466,
      "loc": {
        "start": {
          "line": 10,
          "column": 98
        },
        "end": {
          "line": 10,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 466,
      "end": 467,
      "loc": {
        "start": {
          "line": 10,
          "column": 102
        },
        "end": {
          "line": 10,
          "column": 103
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 467,
      "end": 468,
      "loc": {
        "start": {
          "line": 10,
          "column": 103
        },
        "end": {
          "line": 10,
          "column": 104
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 469,
      "end": 476,
      "loc": {
        "start": {
          "line": 10,
          "column": 105
        },
        "end": {
          "line": 10,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 476,
      "end": 477,
      "loc": {
        "start": {
          "line": 10,
          "column": 112
        },
        "end": {
          "line": 10,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 477,
      "end": 478,
      "loc": {
        "start": {
          "line": 10,
          "column": 113
        },
        "end": {
          "line": 10,
          "column": 114
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 478,
      "end": 479,
      "loc": {
        "start": {
          "line": 10,
          "column": 114
        },
        "end": {
          "line": 10,
          "column": 115
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 489,
      "end": 495,
      "loc": {
        "start": {
          "line": 11,
          "column": 8
        },
        "end": {
          "line": 11,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "storeClass",
      "start": 496,
      "end": 506,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 506,
      "end": 507,
      "loc": {
        "start": {
          "line": 11,
          "column": 25
        },
        "end": {
          "line": 11,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 513,
      "end": 514,
      "loc": {
        "start": {
          "line": 12,
          "column": 4
        },
        "end": {
          "line": 12,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 514,
      "end": 515,
      "loc": {
        "start": {
          "line": 12,
          "column": 5
        },
        "end": {
          "line": 12,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 517,
      "end": 518,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 1
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n * Attaches a single reducer handling to the store.\r\n *\r\n * A new handler method will be created on the store class.\r\n * The handler method invokes the reducer giving it the current store state.\r\n * It then sets the reducer result as the new store state.\r\n *\r\n * If a sideEffect function is defined, it will be called with the signature `{state, prevState, payload}`\r\n *\r\n * @param {object} storeClass - The class of the store to be decorated\r\n * @param {object} action - An altjs action\r\n * @param {object} handler - An handler object with `{name[, reducer, sideEffect]}`\r\n ",
      "start": 520,
      "end": 1102,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1104,
      "end": 1112,
      "loc": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 27,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attachBoundHandler",
      "start": 1113,
      "end": 1131,
      "loc": {
        "start": {
          "line": 27,
          "column": 9
        },
        "end": {
          "line": 27,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1131,
      "end": 1132,
      "loc": {
        "start": {
          "line": 27,
          "column": 27
        },
        "end": {
          "line": 27,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "storeClass",
      "start": 1132,
      "end": 1142,
      "loc": {
        "start": {
          "line": 27,
          "column": 28
        },
        "end": {
          "line": 27,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1142,
      "end": 1143,
      "loc": {
        "start": {
          "line": 27,
          "column": 38
        },
        "end": {
          "line": 27,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "action",
      "start": 1144,
      "end": 1150,
      "loc": {
        "start": {
          "line": 27,
          "column": 40
        },
        "end": {
          "line": 27,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1150,
      "end": 1151,
      "loc": {
        "start": {
          "line": 27,
          "column": 46
        },
        "end": {
          "line": 27,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 1152,
      "end": 1159,
      "loc": {
        "start": {
          "line": 27,
          "column": 48
        },
        "end": {
          "line": 27,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1159,
      "end": 1160,
      "loc": {
        "start": {
          "line": 27,
          "column": 55
        },
        "end": {
          "line": 27,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1161,
      "end": 1162,
      "loc": {
        "start": {
          "line": 27,
          "column": 57
        },
        "end": {
          "line": 27,
          "column": 58
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " name is required",
      "start": 1168,
      "end": 1187,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1195,
      "end": 1200,
      "loc": {
        "start": {
          "line": 30,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "methodName",
      "start": 1201,
      "end": 1211,
      "loc": {
        "start": {
          "line": 30,
          "column": 10
        },
        "end": {
          "line": 30,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1212,
      "end": 1213,
      "loc": {
        "start": {
          "line": 30,
          "column": 21
        },
        "end": {
          "line": 30,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1214,
      "end": 1215,
      "loc": {
        "start": {
          "line": 30,
          "column": 23
        },
        "end": {
          "line": 30,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "__handle_",
      "start": 1215,
      "end": 1224,
      "loc": {
        "start": {
          "line": 30,
          "column": 24
        },
        "end": {
          "line": 30,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1224,
      "end": 1226,
      "loc": {
        "start": {
          "line": 30,
          "column": 33
        },
        "end": {
          "line": 30,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 1226,
      "end": 1233,
      "loc": {
        "start": {
          "line": 30,
          "column": 35
        },
        "end": {
          "line": 30,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1233,
      "end": 1234,
      "loc": {
        "start": {
          "line": 30,
          "column": 42
        },
        "end": {
          "line": 30,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 1234,
      "end": 1238,
      "loc": {
        "start": {
          "line": 30,
          "column": 43
        },
        "end": {
          "line": 30,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1238,
      "end": 1239,
      "loc": {
        "start": {
          "line": 30,
          "column": 47
        },
        "end": {
          "line": 30,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1239,
      "end": 1239,
      "loc": {
        "start": {
          "line": 30,
          "column": 48
        },
        "end": {
          "line": 30,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1239,
      "end": 1240,
      "loc": {
        "start": {
          "line": 30,
          "column": 48
        },
        "end": {
          "line": 30,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1240,
      "end": 1241,
      "loc": {
        "start": {
          "line": 30,
          "column": 49
        },
        "end": {
          "line": 30,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1249,
      "end": 1251,
      "loc": {
        "start": {
          "line": 32,
          "column": 4
        },
        "end": {
          "line": 32,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1252,
      "end": 1253,
      "loc": {
        "start": {
          "line": 32,
          "column": 7
        },
        "end": {
          "line": 32,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "storeClass",
      "start": 1253,
      "end": 1263,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1263,
      "end": 1264,
      "loc": {
        "start": {
          "line": 32,
          "column": 18
        },
        "end": {
          "line": 32,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1264,
      "end": 1273,
      "loc": {
        "start": {
          "line": 32,
          "column": 19
        },
        "end": {
          "line": 32,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1273,
      "end": 1274,
      "loc": {
        "start": {
          "line": 32,
          "column": 28
        },
        "end": {
          "line": 32,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "methodName",
      "start": 1274,
      "end": 1284,
      "loc": {
        "start": {
          "line": 32,
          "column": 29
        },
        "end": {
          "line": 32,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1284,
      "end": 1285,
      "loc": {
        "start": {
          "line": 32,
          "column": 39
        },
        "end": {
          "line": 32,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1285,
      "end": 1286,
      "loc": {
        "start": {
          "line": 32,
          "column": 40
        },
        "end": {
          "line": 32,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 1287,
      "end": 1292,
      "loc": {
        "start": {
          "line": 32,
          "column": 42
        },
        "end": {
          "line": 32,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1293,
      "end": 1296,
      "loc": {
        "start": {
          "line": 32,
          "column": 48
        },
        "end": {
          "line": 32,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 1297,
      "end": 1302,
      "loc": {
        "start": {
          "line": 32,
          "column": 52
        },
        "end": {
          "line": 32,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1302,
      "end": 1303,
      "loc": {
        "start": {
          "line": 32,
          "column": 57
        },
        "end": {
          "line": 32,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1303,
      "end": 1304,
      "loc": {
        "start": {
          "line": 32,
          "column": 58
        },
        "end": {
          "line": 32,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Duplicate method \"",
      "start": 1304,
      "end": 1322,
      "loc": {
        "start": {
          "line": 32,
          "column": 59
        },
        "end": {
          "line": 32,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1322,
      "end": 1324,
      "loc": {
        "start": {
          "line": 32,
          "column": 77
        },
        "end": {
          "line": 32,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "methodName",
      "start": 1324,
      "end": 1334,
      "loc": {
        "start": {
          "line": 32,
          "column": 79
        },
        "end": {
          "line": 32,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1334,
      "end": 1335,
      "loc": {
        "start": {
          "line": 32,
          "column": 89
        },
        "end": {
          "line": 32,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\"",
      "start": 1335,
      "end": 1336,
      "loc": {
        "start": {
          "line": 32,
          "column": 90
        },
        "end": {
          "line": 32,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1336,
      "end": 1337,
      "loc": {
        "start": {
          "line": 32,
          "column": 91
        },
        "end": {
          "line": 32,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1337,
      "end": 1338,
      "loc": {
        "start": {
          "line": 32,
          "column": 92
        },
        "end": {
          "line": 32,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1338,
      "end": 1339,
      "loc": {
        "start": {
          "line": 32,
          "column": 93
        },
        "end": {
          "line": 32,
          "column": 94
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Handles an action call and sets the next state of the store.\r\n     *\r\n     * @param {any} payload - the single argument that can be specified when calling an action.\r\n     *                      If you need to use more than one argument, use an object with any properties you need.\r\n     ",
      "start": 1347,
      "end": 1649,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "storeClass",
      "start": 1655,
      "end": 1665,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1665,
      "end": 1666,
      "loc": {
        "start": {
          "line": 40,
          "column": 14
        },
        "end": {
          "line": 40,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1666,
      "end": 1675,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1675,
      "end": 1676,
      "loc": {
        "start": {
          "line": 40,
          "column": 24
        },
        "end": {
          "line": 40,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "methodName",
      "start": 1676,
      "end": 1686,
      "loc": {
        "start": {
          "line": 40,
          "column": 25
        },
        "end": {
          "line": 40,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1686,
      "end": 1687,
      "loc": {
        "start": {
          "line": 40,
          "column": 35
        },
        "end": {
          "line": 40,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1688,
      "end": 1689,
      "loc": {
        "start": {
          "line": 40,
          "column": 37
        },
        "end": {
          "line": 40,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1690,
      "end": 1698,
      "loc": {
        "start": {
          "line": 40,
          "column": 39
        },
        "end": {
          "line": 40,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleAction",
      "start": 1699,
      "end": 1711,
      "loc": {
        "start": {
          "line": 40,
          "column": 48
        },
        "end": {
          "line": 40,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1711,
      "end": 1712,
      "loc": {
        "start": {
          "line": 40,
          "column": 60
        },
        "end": {
          "line": 40,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "payload",
      "start": 1712,
      "end": 1719,
      "loc": {
        "start": {
          "line": 40,
          "column": 61
        },
        "end": {
          "line": 40,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1719,
      "end": 1720,
      "loc": {
        "start": {
          "line": 40,
          "column": 68
        },
        "end": {
          "line": 40,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1721,
      "end": 1722,
      "loc": {
        "start": {
          "line": 40,
          "column": 70
        },
        "end": {
          "line": 40,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1734,
      "end": 1739,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 42,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reducer",
      "start": 1740,
      "end": 1747,
      "loc": {
        "start": {
          "line": 42,
          "column": 14
        },
        "end": {
          "line": 42,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1748,
      "end": 1749,
      "loc": {
        "start": {
          "line": 42,
          "column": 22
        },
        "end": {
          "line": 42,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 1750,
      "end": 1757,
      "loc": {
        "start": {
          "line": 42,
          "column": 24
        },
        "end": {
          "line": 42,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1757,
      "end": 1758,
      "loc": {
        "start": {
          "line": 42,
          "column": 31
        },
        "end": {
          "line": 42,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasOwnProperty",
      "start": 1758,
      "end": 1772,
      "loc": {
        "start": {
          "line": 42,
          "column": 32
        },
        "end": {
          "line": 42,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1772,
      "end": 1773,
      "loc": {
        "start": {
          "line": 42,
          "column": 46
        },
        "end": {
          "line": 42,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "reducer",
      "start": 1773,
      "end": 1782,
      "loc": {
        "start": {
          "line": 42,
          "column": 47
        },
        "end": {
          "line": 42,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1782,
      "end": 1783,
      "loc": {
        "start": {
          "line": 42,
          "column": 56
        },
        "end": {
          "line": 42,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1784,
      "end": 1786,
      "loc": {
        "start": {
          "line": 42,
          "column": 58
        },
        "end": {
          "line": 42,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 1787,
      "end": 1794,
      "loc": {
        "start": {
          "line": 42,
          "column": 61
        },
        "end": {
          "line": 42,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1794,
      "end": 1795,
      "loc": {
        "start": {
          "line": 42,
          "column": 68
        },
        "end": {
          "line": 42,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reducer",
      "start": 1795,
      "end": 1802,
      "loc": {
        "start": {
          "line": 42,
          "column": 69
        },
        "end": {
          "line": 42,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1802,
      "end": 1803,
      "loc": {
        "start": {
          "line": 42,
          "column": 76
        },
        "end": {
          "line": 42,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1813,
      "end": 1818,
      "loc": {
        "start": {
          "line": 43,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sideEffect",
      "start": 1819,
      "end": 1829,
      "loc": {
        "start": {
          "line": 43,
          "column": 14
        },
        "end": {
          "line": 43,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1830,
      "end": 1831,
      "loc": {
        "start": {
          "line": 43,
          "column": 25
        },
        "end": {
          "line": 43,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 1832,
      "end": 1839,
      "loc": {
        "start": {
          "line": 43,
          "column": 27
        },
        "end": {
          "line": 43,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1839,
      "end": 1840,
      "loc": {
        "start": {
          "line": 43,
          "column": 34
        },
        "end": {
          "line": 43,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasOwnProperty",
      "start": 1840,
      "end": 1854,
      "loc": {
        "start": {
          "line": 43,
          "column": 35
        },
        "end": {
          "line": 43,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1854,
      "end": 1855,
      "loc": {
        "start": {
          "line": 43,
          "column": 49
        },
        "end": {
          "line": 43,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "sideEffect",
      "start": 1855,
      "end": 1867,
      "loc": {
        "start": {
          "line": 43,
          "column": 50
        },
        "end": {
          "line": 43,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1867,
      "end": 1868,
      "loc": {
        "start": {
          "line": 43,
          "column": 62
        },
        "end": {
          "line": 43,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1869,
      "end": 1871,
      "loc": {
        "start": {
          "line": 43,
          "column": 64
        },
        "end": {
          "line": 43,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 1872,
      "end": 1879,
      "loc": {
        "start": {
          "line": 43,
          "column": 67
        },
        "end": {
          "line": 43,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1879,
      "end": 1880,
      "loc": {
        "start": {
          "line": 43,
          "column": 74
        },
        "end": {
          "line": 43,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sideEffect",
      "start": 1880,
      "end": 1890,
      "loc": {
        "start": {
          "line": 43,
          "column": 75
        },
        "end": {
          "line": 43,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1890,
      "end": 1891,
      "loc": {
        "start": {
          "line": 43,
          "column": 85
        },
        "end": {
          "line": 43,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1903,
      "end": 1908,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentState",
      "start": 1909,
      "end": 1921,
      "loc": {
        "start": {
          "line": 45,
          "column": 14
        },
        "end": {
          "line": 45,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1922,
      "end": 1923,
      "loc": {
        "start": {
          "line": 45,
          "column": 27
        },
        "end": {
          "line": 45,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1924,
      "end": 1928,
      "loc": {
        "start": {
          "line": 45,
          "column": 29
        },
        "end": {
          "line": 45,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1928,
      "end": 1929,
      "loc": {
        "start": {
          "line": 45,
          "column": 33
        },
        "end": {
          "line": 45,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 1929,
      "end": 1934,
      "loc": {
        "start": {
          "line": 45,
          "column": 34
        },
        "end": {
          "line": 45,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1934,
      "end": 1935,
      "loc": {
        "start": {
          "line": 45,
          "column": 39
        },
        "end": {
          "line": 45,
          "column": 40
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " the actual operation: run the reducer and set its result as state",
      "start": 1949,
      "end": 2017,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2027,
      "end": 2030,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextState",
      "start": 2031,
      "end": 2040,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2041,
      "end": 2042,
      "loc": {
        "start": {
          "line": 49,
          "column": 22
        },
        "end": {
          "line": 49,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentState",
      "start": 2043,
      "end": 2055,
      "loc": {
        "start": {
          "line": 49,
          "column": 24
        },
        "end": {
          "line": 49,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2055,
      "end": 2056,
      "loc": {
        "start": {
          "line": 49,
          "column": 36
        },
        "end": {
          "line": 49,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2066,
      "end": 2068,
      "loc": {
        "start": {
          "line": 50,
          "column": 8
        },
        "end": {
          "line": 50,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2069,
      "end": 2070,
      "loc": {
        "start": {
          "line": 50,
          "column": 11
        },
        "end": {
          "line": 50,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reducer",
      "start": 2070,
      "end": 2077,
      "loc": {
        "start": {
          "line": 50,
          "column": 12
        },
        "end": {
          "line": 50,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2077,
      "end": 2078,
      "loc": {
        "start": {
          "line": 50,
          "column": 19
        },
        "end": {
          "line": 50,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2079,
      "end": 2080,
      "loc": {
        "start": {
          "line": 50,
          "column": 21
        },
        "end": {
          "line": 50,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "try",
        "keyword": "try",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "try",
      "start": 2094,
      "end": 2097,
      "loc": {
        "start": {
          "line": 51,
          "column": 12
        },
        "end": {
          "line": 51,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2098,
      "end": 2099,
      "loc": {
        "start": {
          "line": 51,
          "column": 16
        },
        "end": {
          "line": 51,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextState",
      "start": 2117,
      "end": 2126,
      "loc": {
        "start": {
          "line": 52,
          "column": 16
        },
        "end": {
          "line": 52,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2127,
      "end": 2128,
      "loc": {
        "start": {
          "line": 52,
          "column": 26
        },
        "end": {
          "line": 52,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reducer",
      "start": 2129,
      "end": 2136,
      "loc": {
        "start": {
          "line": 52,
          "column": 28
        },
        "end": {
          "line": 52,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2136,
      "end": 2137,
      "loc": {
        "start": {
          "line": 52,
          "column": 35
        },
        "end": {
          "line": 52,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentState",
      "start": 2137,
      "end": 2149,
      "loc": {
        "start": {
          "line": 52,
          "column": 36
        },
        "end": {
          "line": 52,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 52,
          "column": 48
        },
        "end": {
          "line": 52,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "payload",
      "start": 2151,
      "end": 2158,
      "loc": {
        "start": {
          "line": 52,
          "column": 50
        },
        "end": {
          "line": 52,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2158,
      "end": 2159,
      "loc": {
        "start": {
          "line": 52,
          "column": 57
        },
        "end": {
          "line": 52,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2159,
      "end": 2160,
      "loc": {
        "start": {
          "line": 52,
          "column": 58
        },
        "end": {
          "line": 52,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2174,
      "end": 2175,
      "loc": {
        "start": {
          "line": 53,
          "column": 12
        },
        "end": {
          "line": 53,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "catch",
        "keyword": "catch",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "catch",
      "start": 2189,
      "end": 2194,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2195,
      "end": 2196,
      "loc": {
        "start": {
          "line": 54,
          "column": 18
        },
        "end": {
          "line": 54,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "error",
      "start": 2196,
      "end": 2201,
      "loc": {
        "start": {
          "line": 54,
          "column": 19
        },
        "end": {
          "line": 54,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2201,
      "end": 2202,
      "loc": {
        "start": {
          "line": 54,
          "column": 24
        },
        "end": {
          "line": 54,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2203,
      "end": 2204,
      "loc": {
        "start": {
          "line": 54,
          "column": 26
        },
        "end": {
          "line": 54,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 2222,
      "end": 2229,
      "loc": {
        "start": {
          "line": 55,
          "column": 16
        },
        "end": {
          "line": 55,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2229,
      "end": 2230,
      "loc": {
        "start": {
          "line": 55,
          "column": 23
        },
        "end": {
          "line": 55,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "error",
      "start": 2230,
      "end": 2235,
      "loc": {
        "start": {
          "line": 55,
          "column": 24
        },
        "end": {
          "line": 55,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2235,
      "end": 2236,
      "loc": {
        "start": {
          "line": 55,
          "column": 29
        },
        "end": {
          "line": 55,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2236,
      "end": 2237,
      "loc": {
        "start": {
          "line": 55,
          "column": 30
        },
        "end": {
          "line": 55,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Error in reducer (",
      "start": 2237,
      "end": 2255,
      "loc": {
        "start": {
          "line": 55,
          "column": 31
        },
        "end": {
          "line": 55,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2255,
      "end": 2257,
      "loc": {
        "start": {
          "line": 55,
          "column": 49
        },
        "end": {
          "line": 55,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 2257,
      "end": 2264,
      "loc": {
        "start": {
          "line": 55,
          "column": 51
        },
        "end": {
          "line": 55,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2264,
      "end": 2265,
      "loc": {
        "start": {
          "line": 55,
          "column": 58
        },
        "end": {
          "line": 55,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2265,
      "end": 2269,
      "loc": {
        "start": {
          "line": 55,
          "column": 59
        },
        "end": {
          "line": 55,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2269,
      "end": 2270,
      "loc": {
        "start": {
          "line": 55,
          "column": 63
        },
        "end": {
          "line": 55,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ", ",
      "start": 2270,
      "end": 2272,
      "loc": {
        "start": {
          "line": 55,
          "column": 64
        },
        "end": {
          "line": 55,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2272,
      "end": 2274,
      "loc": {
        "start": {
          "line": 55,
          "column": 66
        },
        "end": {
          "line": 55,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 2274,
      "end": 2281,
      "loc": {
        "start": {
          "line": 55,
          "column": 68
        },
        "end": {
          "line": 55,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2281,
      "end": 2282,
      "loc": {
        "start": {
          "line": 55,
          "column": 75
        },
        "end": {
          "line": 55,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2282,
      "end": 2286,
      "loc": {
        "start": {
          "line": 55,
          "column": 76
        },
        "end": {
          "line": 55,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2286,
      "end": 2287,
      "loc": {
        "start": {
          "line": 55,
          "column": 80
        },
        "end": {
          "line": 55,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ")",
      "start": 2287,
      "end": 2288,
      "loc": {
        "start": {
          "line": 55,
          "column": 81
        },
        "end": {
          "line": 55,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2288,
      "end": 2289,
      "loc": {
        "start": {
          "line": 55,
          "column": 82
        },
        "end": {
          "line": 55,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2289,
      "end": 2290,
      "loc": {
        "start": {
          "line": 55,
          "column": 83
        },
        "end": {
          "line": 55,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "error",
      "start": 2291,
      "end": 2296,
      "loc": {
        "start": {
          "line": 55,
          "column": 85
        },
        "end": {
          "line": 55,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2296,
      "end": 2297,
      "loc": {
        "start": {
          "line": 55,
          "column": 90
        },
        "end": {
          "line": 55,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2297,
      "end": 2298,
      "loc": {
        "start": {
          "line": 55,
          "column": 91
        },
        "end": {
          "line": 55,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2312,
      "end": 2313,
      "loc": {
        "start": {
          "line": 56,
          "column": 12
        },
        "end": {
          "line": 56,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2323,
      "end": 2324,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2334,
      "end": 2336,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2337,
      "end": 2338,
      "loc": {
        "start": {
          "line": 58,
          "column": 11
        },
        "end": {
          "line": 58,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextState",
      "start": 2338,
      "end": 2347,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2347,
      "end": 2348,
      "loc": {
        "start": {
          "line": 58,
          "column": 21
        },
        "end": {
          "line": 58,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2349,
      "end": 2350,
      "loc": {
        "start": {
          "line": 58,
          "column": 23
        },
        "end": {
          "line": 58,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2364,
      "end": 2368,
      "loc": {
        "start": {
          "line": 59,
          "column": 12
        },
        "end": {
          "line": 59,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2368,
      "end": 2369,
      "loc": {
        "start": {
          "line": 59,
          "column": 16
        },
        "end": {
          "line": 59,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setState",
      "start": 2369,
      "end": 2377,
      "loc": {
        "start": {
          "line": 59,
          "column": 17
        },
        "end": {
          "line": 59,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2377,
      "end": 2378,
      "loc": {
        "start": {
          "line": 59,
          "column": 25
        },
        "end": {
          "line": 59,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextState",
      "start": 2378,
      "end": 2387,
      "loc": {
        "start": {
          "line": 59,
          "column": 26
        },
        "end": {
          "line": 59,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2387,
      "end": 2388,
      "loc": {
        "start": {
          "line": 59,
          "column": 35
        },
        "end": {
          "line": 59,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2388,
      "end": 2389,
      "loc": {
        "start": {
          "line": 59,
          "column": 36
        },
        "end": {
          "line": 59,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2399,
      "end": 2400,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 2410,
      "end": 2414,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 61,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2415,
      "end": 2417,
      "loc": {
        "start": {
          "line": 61,
          "column": 13
        },
        "end": {
          "line": 61,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2418,
      "end": 2419,
      "loc": {
        "start": {
          "line": 61,
          "column": 16
        },
        "end": {
          "line": 61,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reducer",
      "start": 2419,
      "end": 2426,
      "loc": {
        "start": {
          "line": 61,
          "column": 17
        },
        "end": {
          "line": 61,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2426,
      "end": 2427,
      "loc": {
        "start": {
          "line": 61,
          "column": 24
        },
        "end": {
          "line": 61,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2428,
      "end": 2429,
      "loc": {
        "start": {
          "line": 61,
          "column": 26
        },
        "end": {
          "line": 61,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 2443,
      "end": 2450,
      "loc": {
        "start": {
          "line": 62,
          "column": 12
        },
        "end": {
          "line": 62,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2450,
      "end": 2451,
      "loc": {
        "start": {
          "line": 62,
          "column": 19
        },
        "end": {
          "line": 62,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "warn",
      "start": 2451,
      "end": 2455,
      "loc": {
        "start": {
          "line": 62,
          "column": 20
        },
        "end": {
          "line": 62,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2455,
      "end": 2456,
      "loc": {
        "start": {
          "line": 62,
          "column": 24
        },
        "end": {
          "line": 62,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2456,
      "end": 2457,
      "loc": {
        "start": {
          "line": 62,
          "column": 25
        },
        "end": {
          "line": 62,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "reducer \"",
      "start": 2457,
      "end": 2466,
      "loc": {
        "start": {
          "line": 62,
          "column": 26
        },
        "end": {
          "line": 62,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2466,
      "end": 2468,
      "loc": {
        "start": {
          "line": 62,
          "column": 35
        },
        "end": {
          "line": 62,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 2468,
      "end": 2475,
      "loc": {
        "start": {
          "line": 62,
          "column": 37
        },
        "end": {
          "line": 62,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2475,
      "end": 2476,
      "loc": {
        "start": {
          "line": 62,
          "column": 44
        },
        "end": {
          "line": 62,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2476,
      "end": 2480,
      "loc": {
        "start": {
          "line": 62,
          "column": 45
        },
        "end": {
          "line": 62,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2480,
      "end": 2481,
      "loc": {
        "start": {
          "line": 62,
          "column": 49
        },
        "end": {
          "line": 62,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\" in call \"",
      "start": 2481,
      "end": 2492,
      "loc": {
        "start": {
          "line": 62,
          "column": 50
        },
        "end": {
          "line": 62,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2492,
      "end": 2494,
      "loc": {
        "start": {
          "line": 62,
          "column": 61
        },
        "end": {
          "line": 62,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 2494,
      "end": 2501,
      "loc": {
        "start": {
          "line": 62,
          "column": 63
        },
        "end": {
          "line": 62,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2501,
      "end": 2502,
      "loc": {
        "start": {
          "line": 62,
          "column": 70
        },
        "end": {
          "line": 62,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2502,
      "end": 2506,
      "loc": {
        "start": {
          "line": 62,
          "column": 71
        },
        "end": {
          "line": 62,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2506,
      "end": 2507,
      "loc": {
        "start": {
          "line": 62,
          "column": 75
        },
        "end": {
          "line": 62,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\" did not return a new state.\n                Either you forgot to return it, or if no state change is required, maybe you should use a sideEffect instead of a reducer.\n            ",
      "start": 2507,
      "end": 2690,
      "loc": {
        "start": {
          "line": 62,
          "column": 76
        },
        "end": {
          "line": 64,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2690,
      "end": 2691,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2691,
      "end": 2692,
      "loc": {
        "start": {
          "line": 64,
          "column": 13
        },
        "end": {
          "line": 64,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2692,
      "end": 2693,
      "loc": {
        "start": {
          "line": 64,
          "column": 14
        },
        "end": {
          "line": 64,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2703,
      "end": 2704,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2720,
      "end": 2722,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2723,
      "end": 2724,
      "loc": {
        "start": {
          "line": 69,
          "column": 11
        },
        "end": {
          "line": 69,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sideEffect",
      "start": 2724,
      "end": 2734,
      "loc": {
        "start": {
          "line": 69,
          "column": 12
        },
        "end": {
          "line": 69,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2734,
      "end": 2735,
      "loc": {
        "start": {
          "line": 69,
          "column": 22
        },
        "end": {
          "line": 69,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2736,
      "end": 2737,
      "loc": {
        "start": {
          "line": 69,
          "column": 24
        },
        "end": {
          "line": 69,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "try",
        "keyword": "try",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "try",
      "start": 2751,
      "end": 2754,
      "loc": {
        "start": {
          "line": 70,
          "column": 12
        },
        "end": {
          "line": 70,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2755,
      "end": 2756,
      "loc": {
        "start": {
          "line": 70,
          "column": 16
        },
        "end": {
          "line": 70,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sideEffect",
      "start": 2774,
      "end": 2784,
      "loc": {
        "start": {
          "line": 71,
          "column": 16
        },
        "end": {
          "line": 71,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2784,
      "end": 2785,
      "loc": {
        "start": {
          "line": 71,
          "column": 26
        },
        "end": {
          "line": 71,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2785,
      "end": 2786,
      "loc": {
        "start": {
          "line": 71,
          "column": 27
        },
        "end": {
          "line": 71,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 2786,
      "end": 2791,
      "loc": {
        "start": {
          "line": 71,
          "column": 28
        },
        "end": {
          "line": 71,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2791,
      "end": 2792,
      "loc": {
        "start": {
          "line": 71,
          "column": 33
        },
        "end": {
          "line": 71,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextState",
      "start": 2793,
      "end": 2802,
      "loc": {
        "start": {
          "line": 71,
          "column": 35
        },
        "end": {
          "line": 71,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2802,
      "end": 2803,
      "loc": {
        "start": {
          "line": 71,
          "column": 44
        },
        "end": {
          "line": 71,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevState",
      "start": 2804,
      "end": 2813,
      "loc": {
        "start": {
          "line": 71,
          "column": 46
        },
        "end": {
          "line": 71,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2813,
      "end": 2814,
      "loc": {
        "start": {
          "line": 71,
          "column": 55
        },
        "end": {
          "line": 71,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentState",
      "start": 2815,
      "end": 2827,
      "loc": {
        "start": {
          "line": 71,
          "column": 57
        },
        "end": {
          "line": 71,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2827,
      "end": 2828,
      "loc": {
        "start": {
          "line": 71,
          "column": 69
        },
        "end": {
          "line": 71,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "payload",
      "start": 2829,
      "end": 2836,
      "loc": {
        "start": {
          "line": 71,
          "column": 71
        },
        "end": {
          "line": 71,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2836,
      "end": 2837,
      "loc": {
        "start": {
          "line": 71,
          "column": 78
        },
        "end": {
          "line": 71,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2837,
      "end": 2838,
      "loc": {
        "start": {
          "line": 71,
          "column": 79
        },
        "end": {
          "line": 71,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2838,
      "end": 2839,
      "loc": {
        "start": {
          "line": 71,
          "column": 80
        },
        "end": {
          "line": 71,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2853,
      "end": 2854,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "catch",
        "keyword": "catch",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "catch",
      "start": 2868,
      "end": 2873,
      "loc": {
        "start": {
          "line": 73,
          "column": 12
        },
        "end": {
          "line": 73,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2874,
      "end": 2875,
      "loc": {
        "start": {
          "line": 73,
          "column": 18
        },
        "end": {
          "line": 73,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "error",
      "start": 2875,
      "end": 2880,
      "loc": {
        "start": {
          "line": 73,
          "column": 19
        },
        "end": {
          "line": 73,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2880,
      "end": 2881,
      "loc": {
        "start": {
          "line": 73,
          "column": 24
        },
        "end": {
          "line": 73,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2882,
      "end": 2883,
      "loc": {
        "start": {
          "line": 73,
          "column": 26
        },
        "end": {
          "line": 73,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 2901,
      "end": 2908,
      "loc": {
        "start": {
          "line": 74,
          "column": 16
        },
        "end": {
          "line": 74,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2908,
      "end": 2909,
      "loc": {
        "start": {
          "line": 74,
          "column": 23
        },
        "end": {
          "line": 74,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "error",
      "start": 2909,
      "end": 2914,
      "loc": {
        "start": {
          "line": 74,
          "column": 24
        },
        "end": {
          "line": 74,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2914,
      "end": 2915,
      "loc": {
        "start": {
          "line": 74,
          "column": 29
        },
        "end": {
          "line": 74,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2915,
      "end": 2916,
      "loc": {
        "start": {
          "line": 74,
          "column": 30
        },
        "end": {
          "line": 74,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Error in sideEffect (",
      "start": 2916,
      "end": 2937,
      "loc": {
        "start": {
          "line": 74,
          "column": 31
        },
        "end": {
          "line": 74,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2937,
      "end": 2939,
      "loc": {
        "start": {
          "line": 74,
          "column": 52
        },
        "end": {
          "line": 74,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 2939,
      "end": 2946,
      "loc": {
        "start": {
          "line": 74,
          "column": 54
        },
        "end": {
          "line": 74,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2946,
      "end": 2947,
      "loc": {
        "start": {
          "line": 74,
          "column": 61
        },
        "end": {
          "line": 74,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2947,
      "end": 2951,
      "loc": {
        "start": {
          "line": 74,
          "column": 62
        },
        "end": {
          "line": 74,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2951,
      "end": 2952,
      "loc": {
        "start": {
          "line": 74,
          "column": 66
        },
        "end": {
          "line": 74,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ", ",
      "start": 2952,
      "end": 2954,
      "loc": {
        "start": {
          "line": 74,
          "column": 67
        },
        "end": {
          "line": 74,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2954,
      "end": 2956,
      "loc": {
        "start": {
          "line": 74,
          "column": 69
        },
        "end": {
          "line": 74,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 2956,
      "end": 2963,
      "loc": {
        "start": {
          "line": 74,
          "column": 71
        },
        "end": {
          "line": 74,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2963,
      "end": 2964,
      "loc": {
        "start": {
          "line": 74,
          "column": 78
        },
        "end": {
          "line": 74,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2964,
      "end": 2968,
      "loc": {
        "start": {
          "line": 74,
          "column": 79
        },
        "end": {
          "line": 74,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2968,
      "end": 2969,
      "loc": {
        "start": {
          "line": 74,
          "column": 83
        },
        "end": {
          "line": 74,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ")",
      "start": 2969,
      "end": 2970,
      "loc": {
        "start": {
          "line": 74,
          "column": 84
        },
        "end": {
          "line": 74,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2970,
      "end": 2971,
      "loc": {
        "start": {
          "line": 74,
          "column": 85
        },
        "end": {
          "line": 74,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2971,
      "end": 2972,
      "loc": {
        "start": {
          "line": 74,
          "column": 86
        },
        "end": {
          "line": 74,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "error",
      "start": 2973,
      "end": 2978,
      "loc": {
        "start": {
          "line": 74,
          "column": 88
        },
        "end": {
          "line": 74,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2978,
      "end": 2979,
      "loc": {
        "start": {
          "line": 74,
          "column": 93
        },
        "end": {
          "line": 74,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2979,
      "end": 2980,
      "loc": {
        "start": {
          "line": 74,
          "column": 94
        },
        "end": {
          "line": 74,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2994,
      "end": 2995,
      "loc": {
        "start": {
          "line": 75,
          "column": 12
        },
        "end": {
          "line": 75,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3005,
      "end": 3006,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3012,
      "end": 3013,
      "loc": {
        "start": {
          "line": 77,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3013,
      "end": 3014,
      "loc": {
        "start": {
          "line": 77,
          "column": 5
        },
        "end": {
          "line": 77,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 3022,
      "end": 3027,
      "loc": {
        "start": {
          "line": 79,
          "column": 4
        },
        "end": {
          "line": 79,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bindhandler",
      "start": 3028,
      "end": 3039,
      "loc": {
        "start": {
          "line": 79,
          "column": 10
        },
        "end": {
          "line": 79,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3040,
      "end": 3041,
      "loc": {
        "start": {
          "line": 79,
          "column": 22
        },
        "end": {
          "line": 79,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 3042,
      "end": 3046,
      "loc": {
        "start": {
          "line": 79,
          "column": 24
        },
        "end": {
          "line": 79,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3046,
      "end": 3047,
      "loc": {
        "start": {
          "line": 79,
          "column": 28
        },
        "end": {
          "line": 79,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "action",
      "start": 3047,
      "end": 3053,
      "loc": {
        "start": {
          "line": 79,
          "column": 29
        },
        "end": {
          "line": 79,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3053,
      "end": 3054,
      "loc": {
        "start": {
          "line": 79,
          "column": 35
        },
        "end": {
          "line": 79,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3054,
      "end": 3055,
      "loc": {
        "start": {
          "line": 79,
          "column": 36
        },
        "end": {
          "line": 79,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bindhandler",
      "start": 3063,
      "end": 3074,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3074,
      "end": 3075,
      "loc": {
        "start": {
          "line": 81,
          "column": 15
        },
        "end": {
          "line": 81,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "storeClass",
      "start": 3085,
      "end": 3095,
      "loc": {
        "start": {
          "line": 82,
          "column": 8
        },
        "end": {
          "line": 82,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3095,
      "end": 3096,
      "loc": {
        "start": {
          "line": 82,
          "column": 18
        },
        "end": {
          "line": 82,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "methodName",
      "start": 3106,
      "end": 3116,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3116,
      "end": 3117,
      "loc": {
        "start": {
          "line": 83,
          "column": 18
        },
        "end": {
          "line": 83,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 3127,
      "end": 3133,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3133,
      "end": 3134,
      "loc": {
        "start": {
          "line": 84,
          "column": 14
        },
        "end": {
          "line": 84,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getOwnPropertyDescriptor",
      "start": 3134,
      "end": 3158,
      "loc": {
        "start": {
          "line": 84,
          "column": 15
        },
        "end": {
          "line": 84,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3158,
      "end": 3159,
      "loc": {
        "start": {
          "line": 84,
          "column": 39
        },
        "end": {
          "line": 84,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "storeClass",
      "start": 3159,
      "end": 3169,
      "loc": {
        "start": {
          "line": 84,
          "column": 40
        },
        "end": {
          "line": 84,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3169,
      "end": 3170,
      "loc": {
        "start": {
          "line": 84,
          "column": 50
        },
        "end": {
          "line": 84,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 3170,
      "end": 3179,
      "loc": {
        "start": {
          "line": 84,
          "column": 51
        },
        "end": {
          "line": 84,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3179,
      "end": 3180,
      "loc": {
        "start": {
          "line": 84,
          "column": 60
        },
        "end": {
          "line": 84,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "methodName",
      "start": 3181,
      "end": 3191,
      "loc": {
        "start": {
          "line": 84,
          "column": 62
        },
        "end": {
          "line": 84,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3191,
      "end": 3192,
      "loc": {
        "start": {
          "line": 84,
          "column": 72
        },
        "end": {
          "line": 84,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3198,
      "end": 3199,
      "loc": {
        "start": {
          "line": 85,
          "column": 4
        },
        "end": {
          "line": 85,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3199,
      "end": 3200,
      "loc": {
        "start": {
          "line": 85,
          "column": 5
        },
        "end": {
          "line": 85,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3204,
      "end": 3205,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 87,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3205,
      "end": 3206,
      "loc": {
        "start": {
          "line": 87,
          "column": 1
        },
        "end": {
          "line": 87,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3208,
      "end": 3208,
      "loc": {
        "start": {
          "line": 88,
          "column": 0
        },
        "end": {
          "line": 88,
          "column": 0
        }
      }
    }
  ]
}