{
  "type": "Program",
  "start": 0,
  "end": 2894,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 69,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 37,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 37
        }
      },
      "specifiers": [],
      "source": {
        "type": "Literal",
        "start": 7,
        "end": 36,
        "loc": {
          "start": {
            "line": 1,
            "column": 7
          },
          "end": {
            "line": 1,
            "column": 36
          }
        },
        "value": "source-map-support/register",
        "rawValue": "source-map-support/register",
        "raw": "'source-map-support/register'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 39,
      "end": 90,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 51
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 48,
          "end": 61,
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 22
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 48,
            "end": 61,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 22
              }
            },
            "name": "isPlainObject"
          },
          "local": {
            "type": "Identifier",
            "start": 48,
            "end": 61,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 22
              }
            },
            "name": "isPlainObject"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 63,
          "end": 73,
          "loc": {
            "start": {
              "line": 3,
              "column": 24
            },
            "end": {
              "line": 3,
              "column": 34
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 63,
            "end": 73,
            "loc": {
              "start": {
                "line": 3,
                "column": 24
              },
              "end": {
                "line": 3,
                "column": 34
              }
            },
            "name": "isFunction"
          },
          "local": {
            "type": "Identifier",
            "start": 63,
            "end": 73,
            "loc": {
              "start": {
                "line": 3,
                "column": 24
              },
              "end": {
                "line": 3,
                "column": 34
              }
            },
            "name": "isFunction"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 81,
        "end": 89,
        "loc": {
          "start": {
            "line": 3,
            "column": 42
          },
          "end": {
            "line": 3,
            "column": 50
          }
        },
        "value": "lodash",
        "rawValue": "lodash",
        "raw": "'lodash'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 92,
      "end": 130,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 38
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 101,
          "end": 110,
          "loc": {
            "start": {
              "line": 5,
              "column": 9
            },
            "end": {
              "line": 5,
              "column": 18
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 101,
            "end": 110,
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 18
              }
            },
            "name": "toCliFlag"
          },
          "local": {
            "type": "Identifier",
            "start": 101,
            "end": 110,
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 18
              }
            },
            "name": "toCliFlag"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 118,
        "end": 129,
        "loc": {
          "start": {
            "line": 5,
            "column": 26
          },
          "end": {
            "line": 5,
            "column": 37
          }
        },
        "value": "./helpers",
        "rawValue": "./helpers",
        "raw": "'./helpers'"
      }
    },
    {
      "type": "VariableDeclaration",
      "start": 132,
      "end": 207,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 75
        }
      },
      "declarations": [
        {
          "type": "VariableDeclarator",
          "start": 138,
          "end": 206,
          "loc": {
            "start": {
              "line": 7,
              "column": 6
            },
            "end": {
              "line": 7,
              "column": 74
            }
          },
          "id": {
            "type": "Identifier",
            "start": 138,
            "end": 155,
            "loc": {
              "start": {
                "line": 7,
                "column": 6
              },
              "end": {
                "line": 7,
                "column": 23
              }
            },
            "name": "defaultValidation"
          },
          "init": {
            "type": "ArrowFunctionExpression",
            "start": 158,
            "end": 206,
            "loc": {
              "start": {
                "line": 7,
                "column": 26
              },
              "end": {
                "line": 7,
                "column": 74
              }
            },
            "id": null,
            "generator": false,
            "expression": true,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 159,
                "end": 164,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 27
                  },
                  "end": {
                    "line": 7,
                    "column": 32
                  }
                },
                "name": "input"
              },
              {
                "type": "Identifier",
                "start": 166,
                "end": 170,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 34
                  },
                  "end": {
                    "line": 7,
                    "column": 38
                  }
                },
                "name": "info"
              }
            ],
            "body": {
              "type": "ConditionalExpression",
              "start": 175,
              "end": 206,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 43
                },
                "end": {
                  "line": 7,
                  "column": 74
                }
              },
              "test": {
                "type": "Identifier",
                "start": 175,
                "end": 179,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 43
                  },
                  "end": {
                    "line": 7,
                    "column": 47
                  }
                },
                "name": "info"
              },
              "consequent": {
                "type": "ObjectExpression",
                "start": 182,
                "end": 199,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 50
                  },
                  "end": {
                    "line": 7,
                    "column": 67
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 183,
                    "end": 198,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 51
                      },
                      "end": {
                        "line": 7,
                        "column": 66
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 183,
                      "end": 187,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 51
                        },
                        "end": {
                          "line": 7,
                          "column": 55
                        }
                      },
                      "name": "type"
                    },
                    "value": {
                      "type": "Literal",
                      "start": 189,
                      "end": 198,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 57
                        },
                        "end": {
                          "line": 7,
                          "column": 66
                        }
                      },
                      "value": "Unknown",
                      "rawValue": "Unknown",
                      "raw": "'Unknown'"
                    },
                    "kind": "init"
                  }
                ]
              },
              "alternate": {
                "type": "Literal",
                "start": 202,
                "end": 206,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 70
                  },
                  "end": {
                    "line": 7,
                    "column": 74
                  }
                },
                "value": true,
                "rawValue": true,
                "raw": "true"
              }
            }
          }
        }
      ],
      "kind": "const",
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Creates a {@link rocDocumentationObject}.\n *\n * @param {Object} initalObject - The object to create a {@link rocDocumentationObject} of.\n * @param {rocMetaSettings} meta - The meta object to use.\n * @param {string[]} [initalFilter=[]] - The groups that should be used, will default to all groups.\n *\n * @returns {rocDocumentationObject} - The completed documentation object.\n ",
          "start": 209,
          "end": 594,
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 17,
              "column": 3
            }
          },
          "range": [
            209,
            594
          ]
        }
      ]
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 595,
      "end": 2893,
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 68,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 610,
        "end": 2893,
        "loc": {
          "start": {
            "line": 18,
            "column": 15
          },
          "end": {
            "line": 68,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 619,
          "end": 643,
          "loc": {
            "start": {
              "line": 18,
              "column": 24
            },
            "end": {
              "line": 18,
              "column": 48
            }
          },
          "name": "buildDocumentationObject",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 644,
            "end": 656,
            "loc": {
              "start": {
                "line": 18,
                "column": 49
              },
              "end": {
                "line": 18,
                "column": 61
              }
            },
            "name": "initalObject"
          },
          {
            "type": "AssignmentPattern",
            "start": 658,
            "end": 667,
            "loc": {
              "start": {
                "line": 18,
                "column": 63
              },
              "end": {
                "line": 18,
                "column": 72
              }
            },
            "operator": "=",
            "left": {
              "type": "Identifier",
              "start": 658,
              "end": 662,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 63
                },
                "end": {
                  "line": 18,
                  "column": 67
                }
              },
              "name": "meta"
            },
            "right": {
              "type": "ObjectExpression",
              "start": 665,
              "end": 667,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 70
                },
                "end": {
                  "line": 18,
                  "column": 72
                }
              },
              "properties": []
            }
          },
          {
            "type": "AssignmentPattern",
            "start": 669,
            "end": 686,
            "loc": {
              "start": {
                "line": 18,
                "column": 74
              },
              "end": {
                "line": 18,
                "column": 91
              }
            },
            "operator": "=",
            "left": {
              "type": "Identifier",
              "start": 669,
              "end": 681,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 74
                },
                "end": {
                  "line": 18,
                  "column": 86
                }
              },
              "name": "initalFilter"
            },
            "right": {
              "type": "ArrayExpression",
              "start": 684,
              "end": 686,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 89
                },
                "end": {
                  "line": 18,
                  "column": 91
                }
              },
              "elements": []
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 688,
          "end": 2893,
          "loc": {
            "start": {
              "line": 18,
              "column": 93
            },
            "end": {
              "line": 68,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 694,
              "end": 832,
              "loc": {
                "start": {
                  "line": 19,
                  "column": 4
                },
                "end": {
                  "line": 21,
                  "column": 6
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 700,
                  "end": 831,
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 10
                    },
                    "end": {
                      "line": 21,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 700,
                    "end": 710,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 10
                      },
                      "end": {
                        "line": 19,
                        "column": 20
                      }
                    },
                    "name": "allObjects"
                  },
                  "init": {
                    "type": "ArrowFunctionExpression",
                    "start": 713,
                    "end": 831,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 23
                      },
                      "end": {
                        "line": 21,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 714,
                        "end": 720,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 24
                          },
                          "end": {
                            "line": 19,
                            "column": 30
                          }
                        },
                        "name": "object"
                      },
                      {
                        "type": "Identifier",
                        "start": 722,
                        "end": 730,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 32
                          },
                          "end": {
                            "line": 19,
                            "column": 40
                          }
                        },
                        "name": "callback"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 735,
                      "end": 831,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 45
                        },
                        "end": {
                          "line": 21,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 745,
                          "end": 825,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 8
                            },
                            "end": {
                              "line": 20,
                              "column": 88
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 752,
                            "end": 824,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 15
                              },
                              "end": {
                                "line": 20,
                                "column": 87
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 752,
                              "end": 792,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 15
                                },
                                "end": {
                                  "line": 20,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 752,
                                "end": 785,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 48
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 752,
                                  "end": 775,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 752,
                                    "end": 771,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 34
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 752,
                                      "end": 763,
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 752,
                                        "end": 758,
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 21
                                          }
                                        },
                                        "name": "Object"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 759,
                                        "end": 763,
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 26
                                          }
                                        },
                                        "name": "keys"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 764,
                                        "end": 770,
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 33
                                          }
                                        },
                                        "name": "object"
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 772,
                                    "end": 775,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 38
                                      }
                                    },
                                    "name": "map"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 776,
                                    "end": 784,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 47
                                      }
                                    },
                                    "name": "callback"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 786,
                                "end": 792,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 55
                                  }
                                },
                                "name": "filter"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 793,
                                "end": 823,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 86
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 794,
                                    "end": 799,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 62
                                      }
                                    },
                                    "name": "value"
                                  }
                                ],
                                "body": {
                                  "type": "BinaryExpression",
                                  "start": 804,
                                  "end": 823,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 86
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 804,
                                    "end": 809,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 72
                                      }
                                    },
                                    "name": "value"
                                  },
                                  "operator": "!==",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 814,
                                    "end": 823,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 77
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 86
                                      }
                                    },
                                    "name": "undefined"
                                  }
                                }
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "VariableDeclaration",
              "start": 838,
              "end": 1340,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 4
                },
                "end": {
                  "line": 32,
                  "column": 6
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 844,
                  "end": 1339,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 10
                    },
                    "end": {
                      "line": 32,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 844,
                    "end": 855,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 10
                      },
                      "end": {
                        "line": 23,
                        "column": 21
                      }
                    },
                    "name": "manageGroup"
                  },
                  "init": {
                    "type": "ArrowFunctionExpression",
                    "start": 858,
                    "end": 1339,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 24
                      },
                      "end": {
                        "line": 32,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 859,
                        "end": 865,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 25
                          },
                          "end": {
                            "line": 23,
                            "column": 31
                          }
                        },
                        "name": "object"
                      },
                      {
                        "type": "Identifier",
                        "start": 867,
                        "end": 871,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 33
                          },
                          "end": {
                            "line": 23,
                            "column": 37
                          }
                        },
                        "name": "name"
                      },
                      {
                        "type": "AssignmentPattern",
                        "start": 873,
                        "end": 883,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 39
                          },
                          "end": {
                            "line": 23,
                            "column": 49
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 873,
                          "end": 878,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 39
                            },
                            "end": {
                              "line": 23,
                              "column": 44
                            }
                          },
                          "name": "group"
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 881,
                          "end": 883,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 47
                            },
                            "end": {
                              "line": 23,
                              "column": 49
                            }
                          },
                          "properties": []
                        }
                      },
                      {
                        "type": "AssignmentPattern",
                        "start": 885,
                        "end": 901,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 51
                          },
                          "end": {
                            "line": 23,
                            "column": 67
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 885,
                          "end": 896,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 51
                            },
                            "end": {
                              "line": 23,
                              "column": 62
                            }
                          },
                          "name": "description"
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 899,
                          "end": 901,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 65
                            },
                            "end": {
                              "line": 23,
                              "column": 67
                            }
                          },
                          "properties": []
                        }
                      },
                      {
                        "type": "AssignmentPattern",
                        "start": 903,
                        "end": 918,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 69
                          },
                          "end": {
                            "line": 23,
                            "column": 84
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 903,
                          "end": 913,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 69
                            },
                            "end": {
                              "line": 23,
                              "column": 79
                            }
                          },
                          "name": "validation"
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 916,
                          "end": 918,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 82
                            },
                            "end": {
                              "line": 23,
                              "column": 84
                            }
                          },
                          "properties": []
                        }
                      },
                      {
                        "type": "Identifier",
                        "start": 920,
                        "end": 927,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 86
                          },
                          "end": {
                            "line": 23,
                            "column": 93
                          }
                        },
                        "name": "parents"
                      },
                      {
                        "type": "Identifier",
                        "start": 929,
                        "end": 934,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 95
                          },
                          "end": {
                            "line": 23,
                            "column": 100
                          }
                        },
                        "name": "level"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 939,
                      "end": 1339,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 105
                        },
                        "end": {
                          "line": 32,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 949,
                          "end": 1015,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 74
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 955,
                              "end": 1014,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 14
                                },
                                "end": {
                                  "line": 24,
                                  "column": 73
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 955,
                                "end": 971,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 30
                                  }
                                },
                                "name": "groupDescription"
                              },
                              "init": {
                                "type": "ConditionalExpression",
                                "start": 974,
                                "end": 1014,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 73
                                  }
                                },
                                "test": {
                                  "type": "CallExpression",
                                  "start": 974,
                                  "end": 994,
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 53
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 974,
                                    "end": 987,
                                    "loc": {
                                      "start": {
                                        "line": 24,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 24,
                                        "column": 46
                                      }
                                    },
                                    "name": "isPlainObject"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 988,
                                      "end": 993,
                                      "loc": {
                                        "start": {
                                          "line": 24,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 24,
                                          "column": 52
                                        }
                                      },
                                      "name": "group"
                                    }
                                  ]
                                },
                                "consequent": {
                                  "type": "Identifier",
                                  "start": 997,
                                  "end": 1006,
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 65
                                    }
                                  },
                                  "name": "undefined"
                                },
                                "alternate": {
                                  "type": "Identifier",
                                  "start": 1009,
                                  "end": 1014,
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 73
                                    }
                                  },
                                  "name": "group"
                                }
                              }
                            }
                          ],
                          "kind": "const"
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 1024,
                          "end": 1333,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 10
                            }
                          },
                          "argument": {
                            "type": "ObjectExpression",
                            "start": 1031,
                            "end": 1332,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 15
                              },
                              "end": {
                                "line": 31,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 1045,
                                "end": 1049,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 16
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1045,
                                  "end": 1049,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 16
                                    }
                                  },
                                  "name": "name"
                                },
                                "kind": "init",
                                "value": {
                                  "type": "Identifier",
                                  "start": 1045,
                                  "end": 1049,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 16
                                    }
                                  },
                                  "name": "name"
                                }
                              },
                              {
                                "type": "Property",
                                "start": 1063,
                                "end": 1068,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 17
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1063,
                                  "end": 1068,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 17
                                    }
                                  },
                                  "name": "level"
                                },
                                "kind": "init",
                                "value": {
                                  "type": "Identifier",
                                  "start": 1063,
                                  "end": 1068,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 17
                                    }
                                  },
                                  "name": "level"
                                }
                              },
                              {
                                "type": "Property",
                                "start": 1082,
                                "end": 1111,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 41
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1082,
                                  "end": 1093,
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 23
                                    }
                                  },
                                  "name": "description"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 1095,
                                  "end": 1111,
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 41
                                    }
                                  },
                                  "name": "groupDescription"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1125,
                                "end": 1219,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 106
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1125,
                                  "end": 1132,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 19
                                    }
                                  },
                                  "name": "objects"
                                },
                                "value": {
                                  "type": "CallExpression",
                                  "start": 1134,
                                  "end": 1219,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 106
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 1134,
                                    "end": 1149,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 36
                                      }
                                    },
                                    "name": "recursiveHelper"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 1150,
                                      "end": 1156,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 43
                                        }
                                      },
                                      "name": "object"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1158,
                                      "end": 1163,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 50
                                        }
                                      },
                                      "name": "group"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1165,
                                      "end": 1176,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 63
                                        }
                                      },
                                      "name": "description"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1178,
                                      "end": 1188,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 75
                                        }
                                      },
                                      "name": "validation"
                                    },
                                    {
                                      "type": "ArrayExpression",
                                      "start": 1190,
                                      "end": 1192,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 77
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 79
                                        }
                                      },
                                      "elements": []
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1194,
                                      "end": 1201,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 88
                                        }
                                      },
                                      "name": "parents"
                                    },
                                    {
                                      "type": "BinaryExpression",
                                      "start": 1203,
                                      "end": 1212,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 90
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 99
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 1203,
                                        "end": 1208,
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 90
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 95
                                          }
                                        },
                                        "name": "level"
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 1211,
                                        "end": 1212,
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 98
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 99
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    },
                                    {
                                      "type": "Literal",
                                      "start": 1214,
                                      "end": 1218,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 101
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 105
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  ]
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1233,
                                "end": 1322,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 101
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1233,
                                  "end": 1241,
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 20
                                    }
                                  },
                                  "name": "children"
                                },
                                "value": {
                                  "type": "CallExpression",
                                  "start": 1243,
                                  "end": 1322,
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 101
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 1243,
                                    "end": 1258,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 37
                                      }
                                    },
                                    "name": "recursiveHelper"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 1259,
                                      "end": 1265,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 44
                                        }
                                      },
                                      "name": "object"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1267,
                                      "end": 1272,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 51
                                        }
                                      },
                                      "name": "group"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1274,
                                      "end": 1285,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 64
                                        }
                                      },
                                      "name": "description"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1287,
                                      "end": 1297,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 76
                                        }
                                      },
                                      "name": "validation"
                                    },
                                    {
                                      "type": "ArrayExpression",
                                      "start": 1299,
                                      "end": 1301,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 78
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 80
                                        }
                                      },
                                      "elements": []
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1303,
                                      "end": 1310,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 82
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 89
                                        }
                                      },
                                      "name": "parents"
                                    },
                                    {
                                      "type": "BinaryExpression",
                                      "start": 1312,
                                      "end": 1321,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 91
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 100
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 1312,
                                        "end": 1317,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 91
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 96
                                          }
                                        },
                                        "name": "level"
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 1320,
                                        "end": 1321,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 99
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 100
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    }
                                  ]
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "VariableDeclaration",
              "start": 1346,
              "end": 1874,
              "loc": {
                "start": {
                  "line": 34,
                  "column": 4
                },
                "end": {
                  "line": 49,
                  "column": 6
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1352,
                  "end": 1873,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 10
                    },
                    "end": {
                      "line": 49,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1352,
                    "end": 1362,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 10
                      },
                      "end": {
                        "line": 34,
                        "column": 20
                      }
                    },
                    "name": "manageLeaf"
                  },
                  "init": {
                    "type": "ArrowFunctionExpression",
                    "start": 1365,
                    "end": 1873,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 23
                      },
                      "end": {
                        "line": 49,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 1366,
                        "end": 1372,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 24
                          },
                          "end": {
                            "line": 34,
                            "column": 30
                          }
                        },
                        "name": "object"
                      },
                      {
                        "type": "Identifier",
                        "start": 1374,
                        "end": 1378,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 32
                          },
                          "end": {
                            "line": 34,
                            "column": 36
                          }
                        },
                        "name": "name"
                      },
                      {
                        "type": "Identifier",
                        "start": 1380,
                        "end": 1391,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 38
                          },
                          "end": {
                            "line": 34,
                            "column": 49
                          }
                        },
                        "name": "description"
                      },
                      {
                        "type": "AssignmentPattern",
                        "start": 1393,
                        "end": 1423,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 51
                          },
                          "end": {
                            "line": 34,
                            "column": 81
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1393,
                          "end": 1403,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 51
                            },
                            "end": {
                              "line": 34,
                              "column": 61
                            }
                          },
                          "name": "validation"
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1406,
                          "end": 1423,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 64
                            },
                            "end": {
                              "line": 34,
                              "column": 81
                            }
                          },
                          "name": "defaultValidation"
                        }
                      },
                      {
                        "type": "Identifier",
                        "start": 1425,
                        "end": 1432,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 83
                          },
                          "end": {
                            "line": 34,
                            "column": 90
                          }
                        },
                        "name": "parents"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 1437,
                      "end": 1873,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 95
                        },
                        "end": {
                          "line": 49,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 1447,
                          "end": 1613,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 37,
                              "column": 57
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 1453,
                              "end": 1612,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 14
                                },
                                "end": {
                                  "line": 37,
                                  "column": 56
                                }
                              },
                              "id": {
                                "type": "ObjectPattern",
                                "start": 1453,
                                "end": 1491,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 52
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 1455,
                                    "end": 1471,
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 32
                                      }
                                    },
                                    "method": false,
                                    "shorthand": true,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 1455,
                                      "end": 1459,
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 20
                                        }
                                      },
                                      "name": "type"
                                    },
                                    "kind": "init",
                                    "value": {
                                      "type": "AssignmentPattern",
                                      "start": 1455,
                                      "end": 1471,
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 32
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 1455,
                                        "end": 1459,
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 20
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "start": 1462,
                                        "end": 1471,
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 32
                                          }
                                        },
                                        "value": "Unknown",
                                        "rawValue": "Unknown",
                                        "raw": "'Unknown'"
                                      }
                                    }
                                  },
                                  {
                                    "type": "Property",
                                    "start": 1473,
                                    "end": 1489,
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 50
                                      }
                                    },
                                    "method": false,
                                    "shorthand": true,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 1473,
                                      "end": 1481,
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 42
                                        }
                                      },
                                      "name": "required"
                                    },
                                    "kind": "init",
                                    "value": {
                                      "type": "AssignmentPattern",
                                      "start": 1473,
                                      "end": 1489,
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 50
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 1473,
                                        "end": 1481,
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 42
                                          }
                                        },
                                        "name": "required"
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "start": 1484,
                                        "end": 1489,
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 50
                                          }
                                        },
                                        "value": false,
                                        "rawValue": false,
                                        "raw": "false"
                                      }
                                    }
                                  }
                                ]
                              },
                              "init": {
                                "type": "ConditionalExpression",
                                "start": 1494,
                                "end": 1612,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 56
                                  }
                                },
                                "test": {
                                  "type": "CallExpression",
                                  "start": 1494,
                                  "end": 1516,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 77
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 1494,
                                    "end": 1504,
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 65
                                      }
                                    },
                                    "name": "isFunction"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 1505,
                                      "end": 1515,
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 76
                                        }
                                      },
                                      "name": "validation"
                                    }
                                  ]
                                },
                                "consequent": {
                                  "type": "CallExpression",
                                  "start": 1531,
                                  "end": 1553,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 34
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 1531,
                                    "end": 1541,
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 22
                                      }
                                    },
                                    "name": "validation"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 1542,
                                      "end": 1546,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 27
                                        }
                                      },
                                      "value": null,
                                      "rawValue": null,
                                      "raw": "null"
                                    },
                                    {
                                      "type": "Literal",
                                      "start": 1548,
                                      "end": 1552,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 33
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  ]
                                },
                                "alternate": {
                                  "type": "ObjectExpression",
                                  "start": 1569,
                                  "end": 1611,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 55
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 1570,
                                      "end": 1597,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 41
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1570,
                                        "end": 1574,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 18
                                          }
                                        },
                                        "name": "type"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 1576,
                                        "end": 1597,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 41
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 1576,
                                          "end": 1595,
                                          "loc": {
                                            "start": {
                                              "line": 37,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 37,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1576,
                                            "end": 1586,
                                            "loc": {
                                              "start": {
                                                "line": 37,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 37,
                                                "column": 30
                                              }
                                            },
                                            "name": "validation"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1587,
                                            "end": 1595,
                                            "loc": {
                                              "start": {
                                                "line": 37,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 37,
                                                "column": 39
                                              }
                                            },
                                            "name": "toString"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 1599,
                                      "end": 1609,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 53
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1599,
                                        "end": 1602,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 46
                                          }
                                        },
                                        "name": "req"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 1604,
                                        "end": 1609,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 53
                                          }
                                        },
                                        "value": false,
                                        "rawValue": false,
                                        "raw": "false"
                                      },
                                      "kind": "init"
                                    }
                                  ],
                                  "parenthesizedExpression": true
                                }
                              }
                            }
                          ],
                          "kind": "const"
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 1623,
                          "end": 1867,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 10
                            }
                          },
                          "argument": {
                            "type": "ObjectExpression",
                            "start": 1630,
                            "end": 1866,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 15
                              },
                              "end": {
                                "line": 48,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 1644,
                                "end": 1648,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 16
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1644,
                                  "end": 1648,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 16
                                    }
                                  },
                                  "name": "name"
                                },
                                "kind": "init",
                                "value": {
                                  "type": "Identifier",
                                  "start": 1644,
                                  "end": 1648,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 16
                                    }
                                  },
                                  "name": "name"
                                }
                              },
                              {
                                "type": "Property",
                                "start": 1662,
                                "end": 1673,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 23
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1662,
                                  "end": 1673,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 23
                                    }
                                  },
                                  "name": "description"
                                },
                                "kind": "init",
                                "value": {
                                  "type": "Identifier",
                                  "start": 1662,
                                  "end": 1673,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 23
                                    }
                                  },
                                  "name": "description"
                                }
                              },
                              {
                                "type": "Property",
                                "start": 1687,
                                "end": 1691,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 16
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1687,
                                  "end": 1691,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 16
                                    }
                                  },
                                  "name": "type"
                                },
                                "kind": "init",
                                "value": {
                                  "type": "Identifier",
                                  "start": 1687,
                                  "end": 1691,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 16
                                    }
                                  },
                                  "name": "type"
                                }
                              },
                              {
                                "type": "Property",
                                "start": 1705,
                                "end": 1713,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 20
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1705,
                                  "end": 1713,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 20
                                    }
                                  },
                                  "name": "required"
                                },
                                "kind": "init",
                                "value": {
                                  "type": "Identifier",
                                  "start": 1705,
                                  "end": 1713,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 20
                                    }
                                  },
                                  "name": "required"
                                }
                              },
                              {
                                "type": "Property",
                                "start": 1727,
                                "end": 1750,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 35
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1727,
                                  "end": 1731,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 16
                                    }
                                  },
                                  "name": "path"
                                },
                                "value": {
                                  "type": "CallExpression",
                                  "start": 1733,
                                  "end": 1750,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 35
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1733,
                                    "end": 1745,
                                    "loc": {
                                      "start": {
                                        "line": 44,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 44,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1733,
                                      "end": 1740,
                                      "loc": {
                                        "start": {
                                          "line": 44,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 44,
                                          "column": 25
                                        }
                                      },
                                      "name": "parents"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1741,
                                      "end": 1745,
                                      "loc": {
                                        "start": {
                                          "line": 44,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 44,
                                          "column": 30
                                        }
                                      },
                                      "name": "join"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 1746,
                                      "end": 1749,
                                      "loc": {
                                        "start": {
                                          "line": 44,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 44,
                                          "column": 34
                                        }
                                      },
                                      "value": ".",
                                      "rawValue": ".",
                                      "raw": "'.'"
                                    }
                                  ]
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1764,
                                "end": 1787,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 35
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1764,
                                  "end": 1767,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 15
                                    }
                                  },
                                  "name": "cli"
                                },
                                "value": {
                                  "type": "CallExpression",
                                  "start": 1769,
                                  "end": 1787,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 35
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 1769,
                                    "end": 1778,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 26
                                      }
                                    },
                                    "name": "toCliFlag"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 1779,
                                      "end": 1786,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 34
                                        }
                                      },
                                      "name": "parents"
                                    }
                                  ]
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1801,
                                "end": 1821,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 32
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1801,
                                  "end": 1813,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 24
                                    }
                                  },
                                  "name": "defaultValue"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 1815,
                                  "end": 1821,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 32
                                    }
                                  },
                                  "name": "object"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1835,
                                "end": 1856,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 33
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1835,
                                  "end": 1844,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 21
                                    }
                                  },
                                  "name": "validator"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 1846,
                                  "end": 1856,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 33
                                    }
                                  },
                                  "name": "validation"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "FunctionDeclaration",
              "start": 1880,
              "end": 2784,
              "loc": {
                "start": {
                  "line": 51,
                  "column": 4
                },
                "end": {
                  "line": 65,
                  "column": 5
                }
              },
              "id": {
                "type": "Identifier",
                "start": 1889,
                "end": 1904,
                "loc": {
                  "start": {
                    "line": 51,
                    "column": 13
                  },
                  "end": {
                    "line": 51,
                    "column": 28
                  }
                },
                "name": "recursiveHelper"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1905,
                  "end": 1911,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 29
                    },
                    "end": {
                      "line": 51,
                      "column": 35
                    }
                  },
                  "name": "object"
                },
                {
                  "type": "AssignmentPattern",
                  "start": 1913,
                  "end": 1924,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 37
                    },
                    "end": {
                      "line": 51,
                      "column": 48
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 1913,
                    "end": 1919,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 37
                      },
                      "end": {
                        "line": 51,
                        "column": 43
                      }
                    },
                    "name": "groups"
                  },
                  "right": {
                    "type": "ObjectExpression",
                    "start": 1922,
                    "end": 1924,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 46
                      },
                      "end": {
                        "line": 51,
                        "column": 48
                      }
                    },
                    "properties": []
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 1926,
                  "end": 1943,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 50
                    },
                    "end": {
                      "line": 51,
                      "column": 67
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 1926,
                    "end": 1938,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 50
                      },
                      "end": {
                        "line": 51,
                        "column": 62
                      }
                    },
                    "name": "descriptions"
                  },
                  "right": {
                    "type": "ObjectExpression",
                    "start": 1941,
                    "end": 1943,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 65
                      },
                      "end": {
                        "line": 51,
                        "column": 67
                      }
                    },
                    "properties": []
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 1945,
                  "end": 1961,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 69
                    },
                    "end": {
                      "line": 51,
                      "column": 85
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 1945,
                    "end": 1956,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 69
                      },
                      "end": {
                        "line": 51,
                        "column": 80
                      }
                    },
                    "name": "validations"
                  },
                  "right": {
                    "type": "ObjectExpression",
                    "start": 1959,
                    "end": 1961,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 83
                      },
                      "end": {
                        "line": 51,
                        "column": 85
                      }
                    },
                    "properties": []
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 1963,
                  "end": 1974,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 87
                    },
                    "end": {
                      "line": 51,
                      "column": 98
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 1963,
                    "end": 1969,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 87
                      },
                      "end": {
                        "line": 51,
                        "column": 93
                      }
                    },
                    "name": "filter"
                  },
                  "right": {
                    "type": "ArrayExpression",
                    "start": 1972,
                    "end": 1974,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 96
                      },
                      "end": {
                        "line": 51,
                        "column": 98
                      }
                    },
                    "elements": []
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 1984,
                  "end": 2002,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 8
                    },
                    "end": {
                      "line": 52,
                      "column": 26
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 1984,
                    "end": 1997,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 8
                      },
                      "end": {
                        "line": 52,
                        "column": 21
                      }
                    },
                    "name": "initalParents"
                  },
                  "right": {
                    "type": "ArrayExpression",
                    "start": 2000,
                    "end": 2002,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 24
                      },
                      "end": {
                        "line": 52,
                        "column": 26
                      }
                    },
                    "elements": []
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 2004,
                  "end": 2013,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 28
                    },
                    "end": {
                      "line": 52,
                      "column": 37
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 2004,
                    "end": 2009,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 28
                      },
                      "end": {
                        "line": 52,
                        "column": 33
                      }
                    },
                    "name": "level"
                  },
                  "right": {
                    "type": "Literal",
                    "start": 2012,
                    "end": 2013,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 36
                      },
                      "end": {
                        "line": 52,
                        "column": 37
                      }
                    },
                    "value": 0,
                    "rawValue": 0,
                    "raw": "0"
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 2015,
                  "end": 2029,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 39
                    },
                    "end": {
                      "line": 52,
                      "column": 53
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 2015,
                    "end": 2021,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 39
                      },
                      "end": {
                        "line": 52,
                        "column": 45
                      }
                    },
                    "name": "leaves"
                  },
                  "right": {
                    "type": "Literal",
                    "start": 2024,
                    "end": 2029,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 48
                      },
                      "end": {
                        "line": 52,
                        "column": 53
                      }
                    },
                    "value": false,
                    "rawValue": false,
                    "raw": "false"
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2031,
                "end": 2784,
                "loc": {
                  "start": {
                    "line": 52,
                    "column": 55
                  },
                  "end": {
                    "line": 65,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 2041,
                    "end": 2778,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 8
                      },
                      "end": {
                        "line": 64,
                        "column": 11
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 2048,
                      "end": 2777,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 15
                        },
                        "end": {
                          "line": 64,
                          "column": 10
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 2048,
                        "end": 2058,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 15
                          },
                          "end": {
                            "line": 53,
                            "column": 25
                          }
                        },
                        "name": "allObjects"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 2059,
                          "end": 2065,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 26
                            },
                            "end": {
                              "line": 53,
                              "column": 32
                            }
                          },
                          "name": "object"
                        },
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 2067,
                          "end": 2776,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 34
                            },
                            "end": {
                              "line": 64,
                              "column": 9
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2068,
                              "end": 2071,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 35
                                },
                                "end": {
                                  "line": 53,
                                  "column": 38
                                }
                              },
                              "name": "key"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 2076,
                            "end": 2776,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 43
                              },
                              "end": {
                                "line": 64,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 2170,
                                "end": 2766,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 13
                                  }
                                },
                                "test": {
                                  "type": "LogicalExpression",
                                  "start": 2174,
                                  "end": 2223,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 65
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 2174,
                                    "end": 2193,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 35
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2174,
                                      "end": 2187,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2174,
                                        "end": 2180,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 22
                                          }
                                        },
                                        "name": "filter",
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2181,
                                        "end": 2187,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 29
                                          }
                                        },
                                        "name": "length"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Literal",
                                      "start": 2192,
                                      "end": 2193,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 35
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "leadingComments": null
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 2197,
                                    "end": 2223,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 65
                                      }
                                    },
                                    "left": {
                                      "type": "CallExpression",
                                      "start": 2197,
                                      "end": 2216,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 58
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 2197,
                                        "end": 2211,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2197,
                                          "end": 2203,
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 45
                                            }
                                          },
                                          "name": "filter"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2204,
                                          "end": 2211,
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 53
                                            }
                                          },
                                          "name": "indexOf"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 2212,
                                          "end": 2215,
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 57
                                            }
                                          },
                                          "name": "key"
                                        }
                                      ]
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "UnaryExpression",
                                      "start": 2221,
                                      "end": 2223,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 65
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 2222,
                                        "end": 2223,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 65
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 2225,
                                  "end": 2766,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 2243,
                                      "end": 2289,
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 62
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 2249,
                                          "end": 2288,
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 61
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 2249,
                                            "end": 2256,
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 29
                                              }
                                            },
                                            "name": "parents"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 2259,
                                            "end": 2288,
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 61
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 2259,
                                              "end": 2268,
                                              "loc": {
                                                "start": {
                                                  "line": 56,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 56,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "ArrayExpression",
                                                "start": 2259,
                                                "end": 2261,
                                                "loc": {
                                                  "start": {
                                                    "line": 56,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 56,
                                                    "column": 34
                                                  }
                                                },
                                                "elements": []
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2262,
                                                "end": 2268,
                                                "loc": {
                                                  "start": {
                                                    "line": 56,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 56,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "concat"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 2269,
                                                "end": 2282,
                                                "loc": {
                                                  "start": {
                                                    "line": 56,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 56,
                                                    "column": 55
                                                  }
                                                },
                                                "name": "initalParents"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 2284,
                                                "end": 2287,
                                                "loc": {
                                                  "start": {
                                                    "line": 56,
                                                    "column": 57
                                                  },
                                                  "end": {
                                                    "line": 56,
                                                    "column": 60
                                                  }
                                                },
                                                "name": "key"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "const"
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 2306,
                                      "end": 2332,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 42
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 2312,
                                          "end": 2331,
                                          "loc": {
                                            "start": {
                                              "line": 57,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 57,
                                              "column": 41
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 2312,
                                            "end": 2317,
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 27
                                              }
                                            },
                                            "name": "value"
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "start": 2320,
                                            "end": 2331,
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 41
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2320,
                                              "end": 2326,
                                              "loc": {
                                                "start": {
                                                  "line": 57,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 57,
                                                  "column": 36
                                                }
                                              },
                                              "name": "object"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2327,
                                              "end": 2330,
                                              "loc": {
                                                "start": {
                                                  "line": 57,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 57,
                                                  "column": 40
                                                }
                                              },
                                              "name": "key"
                                            },
                                            "computed": true
                                          }
                                        }
                                      ],
                                      "kind": "const"
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 2349,
                                      "end": 2752,
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 17
                                        }
                                      },
                                      "test": {
                                        "type": "LogicalExpression",
                                        "start": 2353,
                                        "end": 2417,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 84
                                          }
                                        },
                                        "left": {
                                          "type": "LogicalExpression",
                                          "start": 2353,
                                          "end": 2406,
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 73
                                            }
                                          },
                                          "left": {
                                            "type": "CallExpression",
                                            "start": 2353,
                                            "end": 2373,
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 40
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 2353,
                                              "end": 2366,
                                              "loc": {
                                                "start": {
                                                  "line": 58,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 58,
                                                  "column": 33
                                                }
                                              },
                                              "name": "isPlainObject"
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 2367,
                                                "end": 2372,
                                                "loc": {
                                                  "start": {
                                                    "line": 58,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 58,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "value"
                                              }
                                            ]
                                          },
                                          "operator": "&&",
                                          "right": {
                                            "type": "BinaryExpression",
                                            "start": 2377,
                                            "end": 2406,
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 73
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 2377,
                                              "end": 2402,
                                              "loc": {
                                                "start": {
                                                  "line": 58,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 58,
                                                  "column": 69
                                                }
                                              },
                                              "object": {
                                                "type": "CallExpression",
                                                "start": 2377,
                                                "end": 2395,
                                                "loc": {
                                                  "start": {
                                                    "line": 58,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 58,
                                                    "column": 62
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 2377,
                                                  "end": 2388,
                                                  "loc": {
                                                    "start": {
                                                      "line": 58,
                                                      "column": 44
                                                    },
                                                    "end": {
                                                      "line": 58,
                                                      "column": 55
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 2377,
                                                    "end": 2383,
                                                    "loc": {
                                                      "start": {
                                                        "line": 58,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 58,
                                                        "column": 50
                                                      }
                                                    },
                                                    "name": "Object"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2384,
                                                    "end": 2388,
                                                    "loc": {
                                                      "start": {
                                                        "line": 58,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 58,
                                                        "column": 55
                                                      }
                                                    },
                                                    "name": "keys"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 2389,
                                                    "end": 2394,
                                                    "loc": {
                                                      "start": {
                                                        "line": 58,
                                                        "column": 56
                                                      },
                                                      "end": {
                                                        "line": 58,
                                                        "column": 61
                                                      }
                                                    },
                                                    "name": "value"
                                                  }
                                                ]
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2396,
                                                "end": 2402,
                                                "loc": {
                                                  "start": {
                                                    "line": 58,
                                                    "column": 63
                                                  },
                                                  "end": {
                                                    "line": 58,
                                                    "column": 69
                                                  }
                                                },
                                                "name": "length"
                                              },
                                              "computed": false
                                            },
                                            "operator": ">",
                                            "right": {
                                              "type": "Literal",
                                              "start": 2405,
                                              "end": 2406,
                                              "loc": {
                                                "start": {
                                                  "line": 58,
                                                  "column": 72
                                                },
                                                "end": {
                                                  "line": 58,
                                                  "column": 73
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          }
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 2410,
                                          "end": 2417,
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 77
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 84
                                            }
                                          },
                                          "operator": "!",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 2411,
                                            "end": 2417,
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 84
                                              }
                                            },
                                            "name": "leaves"
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "start": 2419,
                                        "end": 2556,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 86
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 17
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ReturnStatement",
                                            "start": 2441,
                                            "end": 2538,
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 117
                                              }
                                            },
                                            "argument": {
                                              "type": "CallExpression",
                                              "start": 2448,
                                              "end": 2537,
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 116
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 2448,
                                                "end": 2459,
                                                "loc": {
                                                  "start": {
                                                    "line": 59,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 59,
                                                    "column": 38
                                                  }
                                                },
                                                "name": "manageGroup"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 2460,
                                                  "end": 2465,
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 44
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 2467,
                                                  "end": 2470,
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 49
                                                    }
                                                  },
                                                  "name": "key"
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 2472,
                                                  "end": 2483,
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 62
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 2472,
                                                    "end": 2478,
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 57
                                                      }
                                                    },
                                                    "name": "groups"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2479,
                                                    "end": 2482,
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 61
                                                      }
                                                    },
                                                    "name": "key"
                                                  },
                                                  "computed": true
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 2485,
                                                  "end": 2502,
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 64
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 81
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 2485,
                                                    "end": 2497,
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 64
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 76
                                                      }
                                                    },
                                                    "name": "descriptions"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2498,
                                                    "end": 2501,
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 77
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 80
                                                      }
                                                    },
                                                    "name": "key"
                                                  },
                                                  "computed": true
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 2504,
                                                  "end": 2520,
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 83
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 99
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 2504,
                                                    "end": 2515,
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 83
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 94
                                                      }
                                                    },
                                                    "name": "validations"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2516,
                                                    "end": 2519,
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 95
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 98
                                                      }
                                                    },
                                                    "name": "key"
                                                  },
                                                  "computed": true
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 2522,
                                                  "end": 2529,
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 101
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 108
                                                    }
                                                  },
                                                  "name": "parents"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 2531,
                                                  "end": 2536,
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 110
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 115
                                                    }
                                                  },
                                                  "name": "level"
                                                }
                                              ]
                                            }
                                          }
                                        ]
                                      },
                                      "alternate": {
                                        "type": "IfStatement",
                                        "start": 2562,
                                        "end": 2752,
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 17
                                          }
                                        },
                                        "test": {
                                          "type": "LogicalExpression",
                                          "start": 2566,
                                          "end": 2634,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 95
                                            }
                                          },
                                          "left": {
                                            "type": "LogicalExpression",
                                            "start": 2567,
                                            "end": 2623,
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 84
                                              }
                                            },
                                            "left": {
                                              "type": "UnaryExpression",
                                              "start": 2567,
                                              "end": 2588,
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 49
                                                }
                                              },
                                              "operator": "!",
                                              "prefix": true,
                                              "argument": {
                                                "type": "CallExpression",
                                                "start": 2568,
                                                "end": 2588,
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 49
                                                  }
                                                },
                                                "callee": {
                                                  "type": "Identifier",
                                                  "start": 2568,
                                                  "end": 2581,
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 42
                                                    }
                                                  },
                                                  "name": "isPlainObject"
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 2582,
                                                    "end": 2587,
                                                    "loc": {
                                                      "start": {
                                                        "line": 60,
                                                        "column": 43
                                                      },
                                                      "end": {
                                                        "line": 60,
                                                        "column": 48
                                                      }
                                                    },
                                                    "name": "value"
                                                  }
                                                ]
                                              }
                                            },
                                            "operator": "||",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 2592,
                                              "end": 2623,
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 84
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 2592,
                                                "end": 2617,
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 78
                                                  }
                                                },
                                                "object": {
                                                  "type": "CallExpression",
                                                  "start": 2592,
                                                  "end": 2610,
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 71
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 2592,
                                                    "end": 2603,
                                                    "loc": {
                                                      "start": {
                                                        "line": 60,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 60,
                                                        "column": 64
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 2592,
                                                      "end": 2598,
                                                      "loc": {
                                                        "start": {
                                                          "line": 60,
                                                          "column": 53
                                                        },
                                                        "end": {
                                                          "line": 60,
                                                          "column": 59
                                                        }
                                                      },
                                                      "name": "Object"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2599,
                                                      "end": 2603,
                                                      "loc": {
                                                        "start": {
                                                          "line": 60,
                                                          "column": 60
                                                        },
                                                        "end": {
                                                          "line": 60,
                                                          "column": 64
                                                        }
                                                      },
                                                      "name": "keys"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 2604,
                                                      "end": 2609,
                                                      "loc": {
                                                        "start": {
                                                          "line": 60,
                                                          "column": 65
                                                        },
                                                        "end": {
                                                          "line": 60,
                                                          "column": 70
                                                        }
                                                      },
                                                      "name": "value"
                                                    }
                                                  ]
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2611,
                                                  "end": 2617,
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 72
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 78
                                                    }
                                                  },
                                                  "name": "length"
                                                },
                                                "computed": false
                                              },
                                              "operator": "===",
                                              "right": {
                                                "type": "Literal",
                                                "start": 2622,
                                                "end": 2623,
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 83
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 84
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              }
                                            },
                                            "parenthesizedExpression": true
                                          },
                                          "operator": "&&",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 2628,
                                            "end": 2634,
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 89
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 95
                                              }
                                            },
                                            "name": "leaves"
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "start": 2636,
                                          "end": 2752,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 97
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 17
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ReturnStatement",
                                              "start": 2658,
                                              "end": 2734,
                                              "loc": {
                                                "start": {
                                                  "line": 61,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 61,
                                                  "column": 96
                                                }
                                              },
                                              "argument": {
                                                "type": "CallExpression",
                                                "start": 2665,
                                                "end": 2733,
                                                "loc": {
                                                  "start": {
                                                    "line": 61,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 61,
                                                    "column": 95
                                                  }
                                                },
                                                "callee": {
                                                  "type": "Identifier",
                                                  "start": 2665,
                                                  "end": 2675,
                                                  "loc": {
                                                    "start": {
                                                      "line": 61,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 61,
                                                      "column": 37
                                                    }
                                                  },
                                                  "name": "manageLeaf"
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 2676,
                                                    "end": 2681,
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 43
                                                      }
                                                    },
                                                    "name": "value"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 2683,
                                                    "end": 2686,
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 48
                                                      }
                                                    },
                                                    "name": "key"
                                                  },
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 2688,
                                                    "end": 2705,
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 67
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 2688,
                                                      "end": 2700,
                                                      "loc": {
                                                        "start": {
                                                          "line": 61,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 61,
                                                          "column": 62
                                                        }
                                                      },
                                                      "name": "descriptions"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2701,
                                                      "end": 2704,
                                                      "loc": {
                                                        "start": {
                                                          "line": 61,
                                                          "column": 63
                                                        },
                                                        "end": {
                                                          "line": 61,
                                                          "column": 66
                                                        }
                                                      },
                                                      "name": "key"
                                                    },
                                                    "computed": true
                                                  },
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 2707,
                                                    "end": 2723,
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 85
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 2707,
                                                      "end": 2718,
                                                      "loc": {
                                                        "start": {
                                                          "line": 61,
                                                          "column": 69
                                                        },
                                                        "end": {
                                                          "line": 61,
                                                          "column": 80
                                                        }
                                                      },
                                                      "name": "validations"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2719,
                                                      "end": 2722,
                                                      "loc": {
                                                        "start": {
                                                          "line": 61,
                                                          "column": 81
                                                        },
                                                        "end": {
                                                          "line": 61,
                                                          "column": 84
                                                        }
                                                      },
                                                      "name": "key"
                                                    },
                                                    "computed": true
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 2725,
                                                    "end": 2732,
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 87
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 94
                                                      }
                                                    },
                                                    "name": "parents"
                                                  }
                                                ]
                                              }
                                            }
                                          ]
                                        },
                                        "alternate": null
                                      }
                                    }
                                  ]
                                },
                                "alternate": null,
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Make sure that we either have no filter or that there is a match",
                                    "start": 2090,
                                    "end": 2157,
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 79
                                      }
                                    },
                                    "range": [
                                      2090,
                                      2157
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            },
            {
              "type": "ReturnStatement",
              "start": 2790,
              "end": 2891,
              "loc": {
                "start": {
                  "line": 67,
                  "column": 4
                },
                "end": {
                  "line": 67,
                  "column": 105
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 2797,
                "end": 2890,
                "loc": {
                  "start": {
                    "line": 67,
                    "column": 11
                  },
                  "end": {
                    "line": 67,
                    "column": 104
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 2797,
                  "end": 2812,
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 11
                    },
                    "end": {
                      "line": 67,
                      "column": 26
                    }
                  },
                  "name": "recursiveHelper"
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 2813,
                    "end": 2825,
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 27
                      },
                      "end": {
                        "line": 67,
                        "column": 39
                      }
                    },
                    "name": "initalObject"
                  },
                  {
                    "type": "MemberExpression",
                    "start": 2827,
                    "end": 2838,
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 41
                      },
                      "end": {
                        "line": 67,
                        "column": 52
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2827,
                      "end": 2831,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 41
                        },
                        "end": {
                          "line": 67,
                          "column": 45
                        }
                      },
                      "name": "meta"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2832,
                      "end": 2838,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 46
                        },
                        "end": {
                          "line": 67,
                          "column": 52
                        }
                      },
                      "name": "groups"
                    },
                    "computed": false
                  },
                  {
                    "type": "MemberExpression",
                    "start": 2840,
                    "end": 2857,
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 54
                      },
                      "end": {
                        "line": 67,
                        "column": 71
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2840,
                      "end": 2844,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 54
                        },
                        "end": {
                          "line": 67,
                          "column": 58
                        }
                      },
                      "name": "meta"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2845,
                      "end": 2857,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 59
                        },
                        "end": {
                          "line": 67,
                          "column": 71
                        }
                      },
                      "name": "descriptions"
                    },
                    "computed": false
                  },
                  {
                    "type": "MemberExpression",
                    "start": 2859,
                    "end": 2875,
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 73
                      },
                      "end": {
                        "line": 67,
                        "column": 89
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2859,
                      "end": 2863,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 73
                        },
                        "end": {
                          "line": 67,
                          "column": 77
                        }
                      },
                      "name": "meta"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2864,
                      "end": 2875,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 78
                        },
                        "end": {
                          "line": 67,
                          "column": 89
                        }
                      },
                      "name": "validations"
                    },
                    "computed": false
                  },
                  {
                    "type": "Identifier",
                    "start": 2877,
                    "end": 2889,
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 91
                      },
                      "end": {
                        "line": 67,
                        "column": 103
                      }
                    },
                    "name": "initalFilter"
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Creates a {@link rocDocumentationObject}.\n *\n * @param {Object} initalObject - The object to create a {@link rocDocumentationObject} of.\n * @param {rocMetaSettings} meta - The meta object to use.\n * @param {string[]} [initalFilter=[]] - The groups that should be used, will default to all groups.\n *\n * @returns {rocDocumentationObject} - The completed documentation object.\n ",
            "start": 209,
            "end": 594,
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 17,
                "column": 3
              }
            },
            "range": [
              209,
              594
            ]
          }
        ],
        "trailingComments": []
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Creates a {@link rocDocumentationObject}.\n *\n * @param {Object} initalObject - The object to create a {@link rocDocumentationObject} of.\n * @param {rocMetaSettings} meta - The meta object to use.\n * @param {string[]} [initalFilter=[]] - The groups that should be used, will default to all groups.\n *\n * @returns {rocDocumentationObject} - The completed documentation object.\n ",
          "start": 209,
          "end": 594,
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 17,
              "column": 3
            }
          },
          "range": [
            209,
            594
          ]
        }
      ]
    }
  ]
}