| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | from collections.abc import Sequencefrom typing import Literalfrom pydantic import BaseModel, FieldSupportedComparisonOperator = Literal[        "contains",    "not contains",    "start with",    "end with",    "is",    "is not",    "empty",    "not empty",    "in",    "not in",    "all of",        "=",    "≠",    ">",    "<",    "≥",    "≤",    "null",    "not null",        "exists",    "not exists",]class SubCondition(BaseModel):    key: str    comparison_operator: SupportedComparisonOperator    value: str | Sequence[str] | None = Noneclass SubVariableCondition(BaseModel):    logical_operator: Literal["and", "or"]    conditions: list[SubCondition] = Field(default=list)class Condition(BaseModel):    variable_selector: list[str]    comparison_operator: SupportedComparisonOperator    value: str | Sequence[str] | None = None    sub_variable_condition: SubVariableCondition | None = None
 |