"""Returns the smallest padding length from a sorted list of paddings that is greater than or equal to a given value.

Given a sorted list of padding lengths and a target value, this function uses binary search to find the smallest padding length in the list that is greater than or equal to the target value. The function assumes the list is sorted in ascending order and raises an assertion error if the target value exceeds all padding lengths.

Args:
    paddings (list[int]): A sorted list of integers representing padding lengths.
    x (int): The target value to find the smallest padding length that is greater than or equal to it.

Returns:
    int: The smallest padding length from the list that is greater than or equal to the target value.

Raises:
    AssertionError: If the target value exceeds all padding lengths in the list.
"""
You should write code starting with:
import bisect

def _get_padded_token_len(paddings: list[int], x: int) -> int:
    # TODO: Implement this function
    pass

