stage: {
  name: "LANE_FOLLOW_STAGE"
  type: "LaneFollowParkStage"
  enabled: true
  task {
    name: "OBSTACLE_NUDGE_DECIDER"
    type: "ObstacleNudgeDecider"
  }
  task {
    name: "LANE_CHANGE_PATH_GNERIC"
    type: "LaneChangePathGeneric"
  }
  task {
    name: "LANE_FOLLOW_PATH"
    type: "LaneFollowPath"
  }
  task {
    name: "LANE_BORROW_PATH_GENERIC"
    type: "LaneBorrowPathGeneric"
  }
  task {
    name: "FALLBACK_PATH"
    type: "FallbackPath"
  }
  task {
    name: "PATH_DECIDER"
    type: "PathDecider"
  }
  task {
    name: "RULE_BASED_STOP_DECIDER"
    type: "RuleBasedStopDecider"
  }
  task {
    name: "SPEED_BOUNDS_PRIORI_DECIDER"
    type: "SpeedBoundsDecider"
  }
  task {
    name: "SPEED_HEURISTIC_OPTIMIZER"
    type: "PathTimeHeuristicOptimizer"
  }
  task {
    name: "SPEED_DECIDER"
    type: "SpeedDecider"
  }
  task {
    name: "SPEED_BOUNDS_FINAL_DECIDER"
    type: "SpeedBoundsDecider"
  }
  task {
    name: "PIECEWISE_JERK_SPEED"
    type: "PiecewiseJerkSpeedOptimizer"
  }
#  task {
#    name: "PIECEWISE_JERK_SPEED_NONLINEAR"
#    type: "PiecewiseJerkSpeedNonlinearOptimizer"
# }
  fallback_task: {
      name: "SMOOTH_STOP_TRAJECTORY_FALLBACK"
      type: "SmoothStopTrajectoryFallback"
  }
}
stage: {
  name: "LANE_ESCAPE_PARK_STAGE"
  type: "LaneEscapeParkStage"
  enabled: true
  task {
    name: "OBSTACLE_NUDGE_DECIDER"
    type: "ObstacleNudgeDecider"
  }
  task {
    name: "LANE_FOLLOW_PATH"
    type: "LaneFollowPath"
  }
  task {
    name: "LANE_BORROW_PATH_GENERIC"
    type: "LaneBorrowPathGeneric"
  }
  task {
    name: "REVERSE_PATH"
    type: "ReversePath"
  }
  task {
    name: "REVERSE_SPEED_DECIDER"
    type: "ReverseSpeed"
  }
  task {
    name: "PIECEWISE_JERK_SPEED"
    type: "PiecewiseJerkSpeedOptimizer"
  }
}