diff --git a/Makefile b/Makefile index 474faed..594bd8e 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ ADD_LICENSE_HEADER := $(BIN)/license-header \ --license-type apache \ --copyright-holder "Buf Technologies, Inc." \ --year-range "2023" -PROTOVALIDATE_VERSION ?= v0.7.1 +PROTOVALIDATE_VERSION ?= v0.8.1 .PHONY: help help: ## Describe useful make targets diff --git a/gen/buf/validate/conformance/cases/bool_pb2.py b/gen/buf/validate/conformance/cases/bool_pb2.py index 6d39297..eeba078 100644 --- a/gen/buf/validate/conformance/cases/bool_pb2.py +++ b/gen/buf/validate/conformance/cases/bool_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)buf/validate/conformance/cases/bool.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1c\n\x08\x42oolNone\x12\x10\n\x03val\x18\x01 \x01(\x08R\x03val\"*\n\rBoolConstTrue\x12\x19\n\x03val\x18\x01 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\x03val\"+\n\x0e\x42oolConstFalse\x12\x19\n\x03val\x18\x01 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x00R\x03valb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)buf/validate/conformance/cases/bool.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1c\n\x08\x42oolNone\x12\x10\n\x03val\x18\x01 \x01(\x08R\x03val\"*\n\rBoolConstTrue\x12\x19\n\x03val\x18\x01 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\x03val\"+\n\x0e\x42oolConstFalse\x12\x19\n\x03val\x18\x01 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x00R\x03val\"(\n\x0b\x42oolExample\x12\x19\n\x03val\x18\x01 \x01(\x08\x42\x07\xbaH\x04j\x02\x10\x01R\x03valb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -50,10 +50,14 @@ _globals['_BOOLCONSTTRUE'].fields_by_name['val']._serialized_options = b'\272H\004j\002\010\001' _globals['_BOOLCONSTFALSE'].fields_by_name['val']._loaded_options = None _globals['_BOOLCONSTFALSE'].fields_by_name['val']._serialized_options = b'\272H\004j\002\010\000' + _globals['_BOOLEXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_BOOLEXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\004j\002\020\001' _globals['_BOOLNONE']._serialized_start=106 _globals['_BOOLNONE']._serialized_end=134 _globals['_BOOLCONSTTRUE']._serialized_start=136 _globals['_BOOLCONSTTRUE']._serialized_end=178 _globals['_BOOLCONSTFALSE']._serialized_start=180 _globals['_BOOLCONSTFALSE']._serialized_end=223 + _globals['_BOOLEXAMPLE']._serialized_start=225 + _globals['_BOOLEXAMPLE']._serialized_end=265 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/bool_pb2.pyi b/gen/buf/validate/conformance/cases/bool_pb2.pyi index 0ca5ef4..d53a86f 100644 --- a/gen/buf/validate/conformance/cases/bool_pb2.pyi +++ b/gen/buf/validate/conformance/cases/bool_pb2.pyi @@ -36,3 +36,9 @@ class BoolConstFalse(_message.Message): VAL_FIELD_NUMBER: _ClassVar[int] val: bool def __init__(self, val: bool = ...) -> None: ... + +class BoolExample(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bool + def __init__(self, val: bool = ...) -> None: ... diff --git a/gen/buf/validate/conformance/cases/bytes_pb2.py b/gen/buf/validate/conformance/cases/bytes_pb2.py index 49dd73e..b7a9bfa 100644 --- a/gen/buf/validate/conformance/cases/bytes_pb2.py +++ b/gen/buf/validate/conformance/cases/bytes_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*buf/validate/conformance/cases/bytes.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1d\n\tBytesNone\x12\x10\n\x03val\x18\x01 \x01(\x0cR\x03val\"*\n\nBytesConst\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x05\n\x03\x66ooR\x03val\",\n\x07\x42ytesIn\x12!\n\x03val\x18\x01 \x01(\x0c\x42\x0f\xbaH\x0cz\nB\x03\x62\x61rB\x03\x62\x61zR\x03val\"1\n\nBytesNotIn\x12#\n\x03val\x18\x01 \x01(\x0c\x42\x11\xbaH\x0ez\x0cJ\x04\x66izzJ\x04\x62uzzR\x03val\"%\n\x08\x42ytesLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x03R\x03val\"(\n\x0b\x42ytesMinLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02\x10\x03R\x03val\"(\n\x0b\x42ytesMaxLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02\x18\x05R\x03val\"-\n\x0e\x42ytesMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\x0c\x42\t\xbaH\x06z\x04\x10\x03\x18\x05R\x03val\"2\n\x13\x42ytesEqualMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\x0c\x42\t\xbaH\x06z\x04\x10\x05\x18\x05R\x03val\"7\n\x0c\x42ytesPattern\x12\'\n\x03val\x18\x01 \x01(\x0c\x42\x15\xbaH\x12z\x10\"\x0e^[\\x00-\\x7F]+$R\x03val\")\n\x0b\x42ytesPrefix\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03*\x01\x99R\x03val\"-\n\rBytesContains\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x05:\x03\x62\x61rR\x03val\",\n\x0b\x42ytesSuffix\x12\x1d\n\x03val\x18\x01 \x01(\x0c\x42\x0b\xbaH\x08z\x06\x32\x04\x62uzzR\x03val\"$\n\x07\x42ytesIP\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02P\x01R\x03val\"&\n\tBytesIPv4\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02X\x01R\x03val\"&\n\tBytesIPv6\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02`\x01R\x03val\"/\n\x0f\x42ytesIPv6Ignore\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x02`\x01\xd0\x01\x01R\x03valb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*buf/validate/conformance/cases/bytes.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1d\n\tBytesNone\x12\x10\n\x03val\x18\x01 \x01(\x0cR\x03val\"*\n\nBytesConst\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x05\n\x03\x66ooR\x03val\",\n\x07\x42ytesIn\x12!\n\x03val\x18\x01 \x01(\x0c\x42\x0f\xbaH\x0cz\nB\x03\x62\x61rB\x03\x62\x61zR\x03val\"1\n\nBytesNotIn\x12#\n\x03val\x18\x01 \x01(\x0c\x42\x11\xbaH\x0ez\x0cJ\x04\x66izzJ\x04\x62uzzR\x03val\"%\n\x08\x42ytesLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02h\x03R\x03val\"(\n\x0b\x42ytesMinLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02\x10\x03R\x03val\"(\n\x0b\x42ytesMaxLen\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02\x18\x05R\x03val\"-\n\x0e\x42ytesMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\x0c\x42\t\xbaH\x06z\x04\x10\x03\x18\x05R\x03val\"2\n\x13\x42ytesEqualMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\x0c\x42\t\xbaH\x06z\x04\x10\x05\x18\x05R\x03val\"7\n\x0c\x42ytesPattern\x12\'\n\x03val\x18\x01 \x01(\x0c\x42\x15\xbaH\x12z\x10\"\x0e^[\\x00-\\x7F]+$R\x03val\")\n\x0b\x42ytesPrefix\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03*\x01\x99R\x03val\"-\n\rBytesContains\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x05:\x03\x62\x61rR\x03val\",\n\x0b\x42ytesSuffix\x12\x1d\n\x03val\x18\x01 \x01(\x0c\x42\x0b\xbaH\x08z\x06\x32\x04\x62uzzR\x03val\"$\n\x07\x42ytesIP\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02P\x01R\x03val\"\'\n\nBytesNotIP\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02P\x00R\x03val\"&\n\tBytesIPv4\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02X\x01R\x03val\")\n\x0c\x42ytesNotIPv4\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02X\x00R\x03val\"&\n\tBytesIPv6\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02`\x01R\x03val\")\n\x0c\x42ytesNotIPv6\x12\x19\n\x03val\x18\x01 \x01(\x0c\x42\x07\xbaH\x04z\x02`\x00R\x03val\"/\n\x0f\x42ytesIPv6Ignore\x12\x1c\n\x03val\x18\x01 \x01(\x0c\x42\n\xbaH\x07z\x02`\x01\xd0\x01\x01R\x03val\"*\n\x0c\x42ytesExample\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03r\x01\x99R\x03valb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -72,12 +72,20 @@ _globals['_BYTESSUFFIX'].fields_by_name['val']._serialized_options = b'\272H\010z\0062\004buzz' _globals['_BYTESIP'].fields_by_name['val']._loaded_options = None _globals['_BYTESIP'].fields_by_name['val']._serialized_options = b'\272H\004z\002P\001' + _globals['_BYTESNOTIP'].fields_by_name['val']._loaded_options = None + _globals['_BYTESNOTIP'].fields_by_name['val']._serialized_options = b'\272H\004z\002P\000' _globals['_BYTESIPV4'].fields_by_name['val']._loaded_options = None _globals['_BYTESIPV4'].fields_by_name['val']._serialized_options = b'\272H\004z\002X\001' + _globals['_BYTESNOTIPV4'].fields_by_name['val']._loaded_options = None + _globals['_BYTESNOTIPV4'].fields_by_name['val']._serialized_options = b'\272H\004z\002X\000' _globals['_BYTESIPV6'].fields_by_name['val']._loaded_options = None _globals['_BYTESIPV6'].fields_by_name['val']._serialized_options = b'\272H\004z\002`\001' + _globals['_BYTESNOTIPV6'].fields_by_name['val']._loaded_options = None + _globals['_BYTESNOTIPV6'].fields_by_name['val']._serialized_options = b'\272H\004z\002`\000' _globals['_BYTESIPV6IGNORE'].fields_by_name['val']._loaded_options = None _globals['_BYTESIPV6IGNORE'].fields_by_name['val']._serialized_options = b'\272H\007z\002`\001\320\001\001' + _globals['_BYTESEXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_BYTESEXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\005z\003r\001\231' _globals['_BYTESNONE']._serialized_start=107 _globals['_BYTESNONE']._serialized_end=136 _globals['_BYTESCONST']._serialized_start=138 @@ -106,10 +114,18 @@ _globals['_BYTESSUFFIX']._serialized_end=692 _globals['_BYTESIP']._serialized_start=694 _globals['_BYTESIP']._serialized_end=730 - _globals['_BYTESIPV4']._serialized_start=732 - _globals['_BYTESIPV4']._serialized_end=770 - _globals['_BYTESIPV6']._serialized_start=772 - _globals['_BYTESIPV6']._serialized_end=810 - _globals['_BYTESIPV6IGNORE']._serialized_start=812 - _globals['_BYTESIPV6IGNORE']._serialized_end=859 + _globals['_BYTESNOTIP']._serialized_start=732 + _globals['_BYTESNOTIP']._serialized_end=771 + _globals['_BYTESIPV4']._serialized_start=773 + _globals['_BYTESIPV4']._serialized_end=811 + _globals['_BYTESNOTIPV4']._serialized_start=813 + _globals['_BYTESNOTIPV4']._serialized_end=854 + _globals['_BYTESIPV6']._serialized_start=856 + _globals['_BYTESIPV6']._serialized_end=894 + _globals['_BYTESNOTIPV6']._serialized_start=896 + _globals['_BYTESNOTIPV6']._serialized_end=937 + _globals['_BYTESIPV6IGNORE']._serialized_start=939 + _globals['_BYTESIPV6IGNORE']._serialized_end=986 + _globals['_BYTESEXAMPLE']._serialized_start=988 + _globals['_BYTESEXAMPLE']._serialized_end=1030 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/bytes_pb2.pyi b/gen/buf/validate/conformance/cases/bytes_pb2.pyi index 3b2cc31..319705f 100644 --- a/gen/buf/validate/conformance/cases/bytes_pb2.pyi +++ b/gen/buf/validate/conformance/cases/bytes_pb2.pyi @@ -103,20 +103,44 @@ class BytesIP(_message.Message): val: bytes def __init__(self, val: _Optional[bytes] = ...) -> None: ... +class BytesNotIP(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bytes + def __init__(self, val: _Optional[bytes] = ...) -> None: ... + class BytesIPv4(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: bytes def __init__(self, val: _Optional[bytes] = ...) -> None: ... +class BytesNotIPv4(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bytes + def __init__(self, val: _Optional[bytes] = ...) -> None: ... + class BytesIPv6(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: bytes def __init__(self, val: _Optional[bytes] = ...) -> None: ... +class BytesNotIPv6(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bytes + def __init__(self, val: _Optional[bytes] = ...) -> None: ... + class BytesIPv6Ignore(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: bytes def __init__(self, val: _Optional[bytes] = ...) -> None: ... + +class BytesExample(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bytes + def __init__(self, val: _Optional[bytes] = ...) -> None: ... diff --git a/gen/buf/validate/conformance/cases/enums_pb2.py b/gen/buf/validate/conformance/cases/enums_pb2.py index 0ad0ba5..0f4cfdf 100644 --- a/gen/buf/validate/conformance/cases/enums_pb2.py +++ b/gen/buf/validate/conformance/cases/enums_pb2.py @@ -41,7 +41,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*buf/validate/conformance/cases/enums.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x38\x62uf/validate/conformance/cases/other_package/embed.proto\x1a?buf/validate/conformance/cases/yet_another_package/embed2.proto\x1a\x1b\x62uf/validate/validate.proto\"F\n\x08\x45numNone\x12:\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumR\x03val\"Q\n\tEnumConst\x12\x44\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x08\xbaH\x05\x82\x01\x02\x08\x02R\x03val\"[\n\x0e\x45numAliasConst\x12I\n\x03val\x18\x01 \x01(\x0e\x32-.buf.validate.conformance.cases.TestEnumAliasB\x08\xbaH\x05\x82\x01\x02\x08\x02R\x03val\"S\n\x0b\x45numDefined\x12\x44\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"]\n\x10\x45numAliasDefined\x12I\n\x03val\x18\x01 \x01(\x0e\x32-.buf.validate.conformance.cases.TestEnumAliasB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"P\n\x06\x45numIn\x12\x46\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\n\xbaH\x07\x82\x01\x04\x1a\x02\x00\x02R\x03val\"Z\n\x0b\x45numAliasIn\x12K\n\x03val\x18\x01 \x01(\x0e\x32-.buf.validate.conformance.cases.TestEnumAliasB\n\xbaH\x07\x82\x01\x04\x1a\x02\x00\x02R\x03val\"R\n\tEnumNotIn\x12\x45\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\t\xbaH\x06\x82\x01\x03\"\x01\x01R\x03val\"\\\n\x0e\x45numAliasNotIn\x12J\n\x03val\x18\x01 \x01(\x0e\x32-.buf.validate.conformance.cases.TestEnumAliasB\t\xbaH\x06\x82\x01\x03\"\x01\x01R\x03val\"j\n\x0c\x45numExternal\x12Z\n\x03val\x18\x01 \x01(\x0e\x32>.buf.validate.conformance.cases.other_package.Embed.EnumeratedB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"}\n\rEnumExternal2\x12l\n\x03val\x18\x01 \x01(\x0e\x32P.buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumeratedB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"`\n\x13RepeatedEnumDefined\x12I\n\x03val\x18\x01 \x03(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x03val\"~\n\x1bRepeatedExternalEnumDefined\x12_\n\x03val\x18\x01 \x03(\x0e\x32>.buf.validate.conformance.cases.other_package.Embed.EnumeratedB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x03val\"\x8e\x01\n%RepeatedYetAnotherExternalEnumDefined\x12\x65\n\x03val\x18\x01 \x03(\x0e\x32\x44.buf.validate.conformance.cases.yet_another_package.Embed.EnumeratedB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x03val\"\xcc\x01\n\x0eMapEnumDefined\x12X\n\x03val\x18\x01 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MapEnumDefined.ValEntryB\r\xbaH\n\x9a\x01\x07*\x05\x82\x01\x02\x10\x01R\x03val\x1a`\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumR\x05value:\x02\x38\x01\"\xf2\x01\n\x16MapExternalEnumDefined\x12`\n\x03val\x18\x01 \x03(\x0b\x32?.buf.validate.conformance.cases.MapExternalEnumDefined.ValEntryB\r\xbaH\n\x9a\x01\x07*\x05\x82\x01\x02\x10\x01R\x03val\x1av\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12T\n\x05value\x18\x02 \x01(\x0e\x32>.buf.validate.conformance.cases.other_package.Embed.EnumeratedR\x05value:\x02\x38\x01\"\xb4\x01\n\x0f\x45numInsideOneof\x12\x46\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x03val\x12K\n\x04val2\x18\x02 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x0b\xbaH\x08\x82\x01\x05\x10\x01\"\x01\x00H\x01R\x04val2B\x05\n\x03\x66ooB\x05\n\x03\x62\x61r*K\n\x08TestEnum\x12\x19\n\x15TEST_ENUM_UNSPECIFIED\x10\x00\x12\x11\n\rTEST_ENUM_ONE\x10\x01\x12\x11\n\rTEST_ENUM_TWO\x10\x02*\xc9\x01\n\rTestEnumAlias\x12\x1f\n\x1bTEST_ENUM_ALIAS_UNSPECIFIED\x10\x00\x12\x15\n\x11TEST_ENUM_ALIAS_A\x10\x01\x12\x15\n\x11TEST_ENUM_ALIAS_B\x10\x02\x12\x15\n\x11TEST_ENUM_ALIAS_C\x10\x03\x12\x19\n\x15TEST_ENUM_ALIAS_ALPHA\x10\x01\x12\x18\n\x14TEST_ENUM_ALIAS_BETA\x10\x02\x12\x19\n\x15TEST_ENUM_ALIAS_GAMMA\x10\x03\x1a\x02\x10\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*buf/validate/conformance/cases/enums.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x38\x62uf/validate/conformance/cases/other_package/embed.proto\x1a?buf/validate/conformance/cases/yet_another_package/embed2.proto\x1a\x1b\x62uf/validate/validate.proto\"F\n\x08\x45numNone\x12:\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumR\x03val\"Q\n\tEnumConst\x12\x44\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x08\xbaH\x05\x82\x01\x02\x08\x02R\x03val\"[\n\x0e\x45numAliasConst\x12I\n\x03val\x18\x01 \x01(\x0e\x32-.buf.validate.conformance.cases.TestEnumAliasB\x08\xbaH\x05\x82\x01\x02\x08\x02R\x03val\"S\n\x0b\x45numDefined\x12\x44\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"]\n\x10\x45numAliasDefined\x12I\n\x03val\x18\x01 \x01(\x0e\x32-.buf.validate.conformance.cases.TestEnumAliasB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"P\n\x06\x45numIn\x12\x46\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\n\xbaH\x07\x82\x01\x04\x18\x00\x18\x02R\x03val\"Z\n\x0b\x45numAliasIn\x12K\n\x03val\x18\x01 \x01(\x0e\x32-.buf.validate.conformance.cases.TestEnumAliasB\n\xbaH\x07\x82\x01\x04\x18\x00\x18\x02R\x03val\"Q\n\tEnumNotIn\x12\x44\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x08\xbaH\x05\x82\x01\x02 \x01R\x03val\"[\n\x0e\x45numAliasNotIn\x12I\n\x03val\x18\x01 \x01(\x0e\x32-.buf.validate.conformance.cases.TestEnumAliasB\x08\xbaH\x05\x82\x01\x02 \x01R\x03val\"j\n\x0c\x45numExternal\x12Z\n\x03val\x18\x01 \x01(\x0e\x32>.buf.validate.conformance.cases.other_package.Embed.EnumeratedB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"}\n\rEnumExternal2\x12l\n\x03val\x18\x01 \x01(\x0e\x32P.buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumeratedB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"`\n\x13RepeatedEnumDefined\x12I\n\x03val\x18\x01 \x03(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x03val\"~\n\x1bRepeatedExternalEnumDefined\x12_\n\x03val\x18\x01 \x03(\x0e\x32>.buf.validate.conformance.cases.other_package.Embed.EnumeratedB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x03val\"\x8e\x01\n%RepeatedYetAnotherExternalEnumDefined\x12\x65\n\x03val\x18\x01 \x03(\x0e\x32\x44.buf.validate.conformance.cases.yet_another_package.Embed.EnumeratedB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x03val\"\xcc\x01\n\x0eMapEnumDefined\x12X\n\x03val\x18\x01 \x03(\x0b\x32\x37.buf.validate.conformance.cases.MapEnumDefined.ValEntryB\r\xbaH\n\x9a\x01\x07*\x05\x82\x01\x02\x10\x01R\x03val\x1a`\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumR\x05value:\x02\x38\x01\"\xf2\x01\n\x16MapExternalEnumDefined\x12`\n\x03val\x18\x01 \x03(\x0b\x32?.buf.validate.conformance.cases.MapExternalEnumDefined.ValEntryB\r\xbaH\n\x9a\x01\x07*\x05\x82\x01\x02\x10\x01R\x03val\x1av\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12T\n\x05value\x18\x02 \x01(\x0e\x32>.buf.validate.conformance.cases.other_package.Embed.EnumeratedR\x05value:\x02\x38\x01\"\xb3\x01\n\x0f\x45numInsideOneof\x12\x46\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x03val\x12J\n\x04val2\x18\x02 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\n\xbaH\x07\x82\x01\x04\x10\x01 \x00H\x01R\x04val2B\x05\n\x03\x66ooB\x05\n\x03\x62\x61r\"S\n\x0b\x45numExample\x12\x44\n\x03val\x18\x01 \x01(\x0e\x32(.buf.validate.conformance.cases.TestEnumB\x08\xbaH\x05\x82\x01\x02(\x02R\x03val*K\n\x08TestEnum\x12\x19\n\x15TEST_ENUM_UNSPECIFIED\x10\x00\x12\x11\n\rTEST_ENUM_ONE\x10\x01\x12\x11\n\rTEST_ENUM_TWO\x10\x02*\xc9\x01\n\rTestEnumAlias\x12\x1f\n\x1bTEST_ENUM_ALIAS_UNSPECIFIED\x10\x00\x12\x15\n\x11TEST_ENUM_ALIAS_A\x10\x01\x12\x15\n\x11TEST_ENUM_ALIAS_B\x10\x02\x12\x15\n\x11TEST_ENUM_ALIAS_C\x10\x03\x12\x19\n\x15TEST_ENUM_ALIAS_ALPHA\x10\x01\x12\x18\n\x14TEST_ENUM_ALIAS_BETA\x10\x02\x12\x19\n\x15TEST_ENUM_ALIAS_GAMMA\x10\x03\x1a\x02\x10\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -59,13 +59,13 @@ _globals['_ENUMALIASDEFINED'].fields_by_name['val']._loaded_options = None _globals['_ENUMALIASDEFINED'].fields_by_name['val']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_ENUMIN'].fields_by_name['val']._loaded_options = None - _globals['_ENUMIN'].fields_by_name['val']._serialized_options = b'\272H\007\202\001\004\032\002\000\002' + _globals['_ENUMIN'].fields_by_name['val']._serialized_options = b'\272H\007\202\001\004\030\000\030\002' _globals['_ENUMALIASIN'].fields_by_name['val']._loaded_options = None - _globals['_ENUMALIASIN'].fields_by_name['val']._serialized_options = b'\272H\007\202\001\004\032\002\000\002' + _globals['_ENUMALIASIN'].fields_by_name['val']._serialized_options = b'\272H\007\202\001\004\030\000\030\002' _globals['_ENUMNOTIN'].fields_by_name['val']._loaded_options = None - _globals['_ENUMNOTIN'].fields_by_name['val']._serialized_options = b'\272H\006\202\001\003\"\001\001' + _globals['_ENUMNOTIN'].fields_by_name['val']._serialized_options = b'\272H\005\202\001\002 \001' _globals['_ENUMALIASNOTIN'].fields_by_name['val']._loaded_options = None - _globals['_ENUMALIASNOTIN'].fields_by_name['val']._serialized_options = b'\272H\006\202\001\003\"\001\001' + _globals['_ENUMALIASNOTIN'].fields_by_name['val']._serialized_options = b'\272H\005\202\001\002 \001' _globals['_ENUMEXTERNAL'].fields_by_name['val']._loaded_options = None _globals['_ENUMEXTERNAL'].fields_by_name['val']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_ENUMEXTERNAL2'].fields_by_name['val']._loaded_options = None @@ -87,11 +87,13 @@ _globals['_ENUMINSIDEONEOF'].fields_by_name['val']._loaded_options = None _globals['_ENUMINSIDEONEOF'].fields_by_name['val']._serialized_options = b'\272H\005\202\001\002\020\001' _globals['_ENUMINSIDEONEOF'].fields_by_name['val2']._loaded_options = None - _globals['_ENUMINSIDEONEOF'].fields_by_name['val2']._serialized_options = b'\272H\010\202\001\005\020\001\"\001\000' - _globals['_TESTENUM']._serialized_start=2251 - _globals['_TESTENUM']._serialized_end=2326 - _globals['_TESTENUMALIAS']._serialized_start=2329 - _globals['_TESTENUMALIAS']._serialized_end=2530 + _globals['_ENUMINSIDEONEOF'].fields_by_name['val2']._serialized_options = b'\272H\007\202\001\004\020\001 \000' + _globals['_ENUMEXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_ENUMEXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\005\202\001\002(\002' + _globals['_TESTENUM']._serialized_start=2333 + _globals['_TESTENUM']._serialized_end=2408 + _globals['_TESTENUMALIAS']._serialized_start=2411 + _globals['_TESTENUMALIAS']._serialized_end=2612 _globals['_ENUMNONE']._serialized_start=230 _globals['_ENUMNONE']._serialized_end=300 _globals['_ENUMCONST']._serialized_start=302 @@ -107,27 +109,29 @@ _globals['_ENUMALIASIN']._serialized_start=740 _globals['_ENUMALIASIN']._serialized_end=830 _globals['_ENUMNOTIN']._serialized_start=832 - _globals['_ENUMNOTIN']._serialized_end=914 - _globals['_ENUMALIASNOTIN']._serialized_start=916 - _globals['_ENUMALIASNOTIN']._serialized_end=1008 - _globals['_ENUMEXTERNAL']._serialized_start=1010 - _globals['_ENUMEXTERNAL']._serialized_end=1116 - _globals['_ENUMEXTERNAL2']._serialized_start=1118 - _globals['_ENUMEXTERNAL2']._serialized_end=1243 - _globals['_REPEATEDENUMDEFINED']._serialized_start=1245 - _globals['_REPEATEDENUMDEFINED']._serialized_end=1341 - _globals['_REPEATEDEXTERNALENUMDEFINED']._serialized_start=1343 - _globals['_REPEATEDEXTERNALENUMDEFINED']._serialized_end=1469 - _globals['_REPEATEDYETANOTHEREXTERNALENUMDEFINED']._serialized_start=1472 - _globals['_REPEATEDYETANOTHEREXTERNALENUMDEFINED']._serialized_end=1614 - _globals['_MAPENUMDEFINED']._serialized_start=1617 - _globals['_MAPENUMDEFINED']._serialized_end=1821 - _globals['_MAPENUMDEFINED_VALENTRY']._serialized_start=1725 - _globals['_MAPENUMDEFINED_VALENTRY']._serialized_end=1821 - _globals['_MAPEXTERNALENUMDEFINED']._serialized_start=1824 - _globals['_MAPEXTERNALENUMDEFINED']._serialized_end=2066 - _globals['_MAPEXTERNALENUMDEFINED_VALENTRY']._serialized_start=1948 - _globals['_MAPEXTERNALENUMDEFINED_VALENTRY']._serialized_end=2066 - _globals['_ENUMINSIDEONEOF']._serialized_start=2069 - _globals['_ENUMINSIDEONEOF']._serialized_end=2249 + _globals['_ENUMNOTIN']._serialized_end=913 + _globals['_ENUMALIASNOTIN']._serialized_start=915 + _globals['_ENUMALIASNOTIN']._serialized_end=1006 + _globals['_ENUMEXTERNAL']._serialized_start=1008 + _globals['_ENUMEXTERNAL']._serialized_end=1114 + _globals['_ENUMEXTERNAL2']._serialized_start=1116 + _globals['_ENUMEXTERNAL2']._serialized_end=1241 + _globals['_REPEATEDENUMDEFINED']._serialized_start=1243 + _globals['_REPEATEDENUMDEFINED']._serialized_end=1339 + _globals['_REPEATEDEXTERNALENUMDEFINED']._serialized_start=1341 + _globals['_REPEATEDEXTERNALENUMDEFINED']._serialized_end=1467 + _globals['_REPEATEDYETANOTHEREXTERNALENUMDEFINED']._serialized_start=1470 + _globals['_REPEATEDYETANOTHEREXTERNALENUMDEFINED']._serialized_end=1612 + _globals['_MAPENUMDEFINED']._serialized_start=1615 + _globals['_MAPENUMDEFINED']._serialized_end=1819 + _globals['_MAPENUMDEFINED_VALENTRY']._serialized_start=1723 + _globals['_MAPENUMDEFINED_VALENTRY']._serialized_end=1819 + _globals['_MAPEXTERNALENUMDEFINED']._serialized_start=1822 + _globals['_MAPEXTERNALENUMDEFINED']._serialized_end=2064 + _globals['_MAPEXTERNALENUMDEFINED_VALENTRY']._serialized_start=1946 + _globals['_MAPEXTERNALENUMDEFINED_VALENTRY']._serialized_end=2064 + _globals['_ENUMINSIDEONEOF']._serialized_start=2067 + _globals['_ENUMINSIDEONEOF']._serialized_end=2246 + _globals['_ENUMEXAMPLE']._serialized_start=2248 + _globals['_ENUMEXAMPLE']._serialized_end=2331 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/enums_pb2.pyi b/gen/buf/validate/conformance/cases/enums_pb2.pyi index 31af195..330f14d 100644 --- a/gen/buf/validate/conformance/cases/enums_pb2.pyi +++ b/gen/buf/validate/conformance/cases/enums_pb2.pyi @@ -166,3 +166,9 @@ class EnumInsideOneof(_message.Message): val: TestEnum val2: TestEnum def __init__(self, val: _Optional[_Union[TestEnum, str]] = ..., val2: _Optional[_Union[TestEnum, str]] = ...) -> None: ... + +class EnumExample(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: TestEnum + def __init__(self, val: _Optional[_Union[TestEnum, str]] = ...) -> None: ... diff --git a/gen/buf/validate/conformance/cases/kitchen_sink_pb2.py b/gen/buf/validate/conformance/cases/kitchen_sink_pb2.py index 35f0f48..3549354 100644 --- a/gen/buf/validate/conformance/cases/kitchen_sink_pb2.py +++ b/gen/buf/validate/conformance/cases/kitchen_sink_pb2.py @@ -43,7 +43,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1buf/validate/conformance/cases/kitchen_sink.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xbc\x08\n\x0e\x43omplexTestMsg\x12!\n\x05\x63onst\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\n\x04\x61\x62\x63\x64R\x05\x63onst\x12\x46\n\x06nested\x18\x02 \x01(\x0b\x32..buf.validate.conformance.cases.ComplexTestMsgR\x06nested\x12$\n\tint_const\x18\x03 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x08\x05R\x08intConst\x12&\n\nbool_const\x18\x04 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x00R\tboolConst\x12\x44\n\tfloat_val\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.FloatValueB\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x08\x66loatVal\x12\x41\n\x07\x64ur_val\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\r\xbaH\n\xaa\x01\x04\x1a\x02\x08\x11\xc8\x01\x01R\x06\x64urVal\x12=\n\x06ts_val\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xbaH\x07\xb2\x01\x04*\x02\x08\x07R\x05tsVal\x12H\n\x07\x61nother\x18\x08 \x01(\x0b\x32..buf.validate.conformance.cases.ComplexTestMsgR\x07\x61nother\x12+\n\x0b\x66loat_const\x18\t \x01(\x02\x42\n\xbaH\x07\n\x05\x15\x00\x00\x00\x41R\nfloatConst\x12\x34\n\tdouble_in\x18\n \x01(\x01\x42\x17\xbaH\x14\x12\x12\x32\x10\xb4\xc8v\xbe\x9f\x8c|@\x00\x00\x00\x00\x00\xc0^@R\x08\x64oubleIn\x12X\n\nenum_const\x18\x0b \x01(\x0e\x32/.buf.validate.conformance.cases.ComplexTestEnumB\x08\xbaH\x05\x82\x01\x02\x08\x02R\tenumConst\x12\x63\n\x07\x61ny_val\x18\x0c \x01(\x0b\x32\x14.google.protobuf.AnyB4\xbaH1\xa2\x01.\x12,type.googleapis.com/google.protobuf.DurationR\x06\x61nyVal\x12K\n\nrep_ts_val\x18\r \x03(\x0b\x32\x1a.google.protobuf.TimestampB\x11\xbaH\x0e\x92\x01\x0b\"\t\xb2\x01\x06\x32\x04\x10\xc0\x84=R\x08repTsVal\x12\x61\n\x07map_val\x18\x0e \x03(\x0b\x32:.buf.validate.conformance.cases.ComplexTestMsg.MapValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04:\x02\x10\x00R\x06mapVal\x12&\n\tbytes_val\x18\x0f \x01(\x0c\x42\t\xbaH\x06z\x04\n\x02\x00\x99R\x08\x62ytesVal\x12\x0e\n\x01x\x18\x10 \x01(\tH\x00R\x01x\x12\x0e\n\x01y\x18\x11 \x01(\x05H\x00R\x01y\x1a\x39\n\x0bMapValEntry\x12\x10\n\x03key\x18\x01 \x01(\x11R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\n\n\x01o\x12\x05\xbaH\x02\x08\x01\"V\n\x12KitchenSinkMessage\x12@\n\x03val\x18\x01 \x01(\x0b\x32..buf.validate.conformance.cases.ComplexTestMsgR\x03val*j\n\x0f\x43omplexTestEnum\x12!\n\x1d\x43OMPLEX_TEST_ENUM_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43OMPLEX_TEST_ENUM_ONE\x10\x01\x12\x19\n\x15\x43OMPLEX_TEST_ENUM_TWO\x10\x02\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1buf/validate/conformance/cases/kitchen_sink.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xbc\x08\n\x0e\x43omplexTestMsg\x12!\n\x05\x63onst\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\n\x04\x61\x62\x63\x64R\x05\x63onst\x12\x46\n\x06nested\x18\x02 \x01(\x0b\x32..buf.validate.conformance.cases.ComplexTestMsgR\x06nested\x12$\n\tint_const\x18\x03 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x08\x05R\x08intConst\x12&\n\nbool_const\x18\x04 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x00R\tboolConst\x12\x44\n\tfloat_val\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.FloatValueB\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x08\x66loatVal\x12\x41\n\x07\x64ur_val\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\r\xbaH\n\xaa\x01\x04\x1a\x02\x08\x11\xc8\x01\x01R\x06\x64urVal\x12=\n\x06ts_val\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xbaH\x07\xb2\x01\x04*\x02\x08\x07R\x05tsVal\x12H\n\x07\x61nother\x18\x08 \x01(\x0b\x32..buf.validate.conformance.cases.ComplexTestMsgR\x07\x61nother\x12+\n\x0b\x66loat_const\x18\t \x01(\x02\x42\n\xbaH\x07\n\x05\x15\x00\x00\x00\x41R\nfloatConst\x12\x34\n\tdouble_in\x18\n \x01(\x01\x42\x17\xbaH\x14\x12\x12\x31\xb4\xc8v\xbe\x9f\x8c|@1\x00\x00\x00\x00\x00\xc0^@R\x08\x64oubleIn\x12X\n\nenum_const\x18\x0b \x01(\x0e\x32/.buf.validate.conformance.cases.ComplexTestEnumB\x08\xbaH\x05\x82\x01\x02\x08\x02R\tenumConst\x12\x63\n\x07\x61ny_val\x18\x0c \x01(\x0b\x32\x14.google.protobuf.AnyB4\xbaH1\xa2\x01.\x12,type.googleapis.com/google.protobuf.DurationR\x06\x61nyVal\x12K\n\nrep_ts_val\x18\r \x03(\x0b\x32\x1a.google.protobuf.TimestampB\x11\xbaH\x0e\x92\x01\x0b\"\t\xb2\x01\x06\x32\x04\x10\xc0\x84=R\x08repTsVal\x12\x61\n\x07map_val\x18\x0e \x03(\x0b\x32:.buf.validate.conformance.cases.ComplexTestMsg.MapValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04:\x02\x10\x00R\x06mapVal\x12&\n\tbytes_val\x18\x0f \x01(\x0c\x42\t\xbaH\x06z\x04\n\x02\x00\x99R\x08\x62ytesVal\x12\x0e\n\x01x\x18\x10 \x01(\tH\x00R\x01x\x12\x0e\n\x01y\x18\x11 \x01(\x05H\x00R\x01y\x1a\x39\n\x0bMapValEntry\x12\x10\n\x03key\x18\x01 \x01(\x11R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\n\n\x01o\x12\x05\xbaH\x02\x08\x01\"V\n\x12KitchenSinkMessage\x12@\n\x03val\x18\x01 \x01(\x0b\x32..buf.validate.conformance.cases.ComplexTestMsgR\x03val*j\n\x0f\x43omplexTestEnum\x12!\n\x1d\x43OMPLEX_TEST_ENUM_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43OMPLEX_TEST_ENUM_ONE\x10\x01\x12\x19\n\x15\x43OMPLEX_TEST_ENUM_TWO\x10\x02\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -69,7 +69,7 @@ _globals['_COMPLEXTESTMSG'].fields_by_name['float_const']._loaded_options = None _globals['_COMPLEXTESTMSG'].fields_by_name['float_const']._serialized_options = b'\272H\007\n\005\025\000\000\000A' _globals['_COMPLEXTESTMSG'].fields_by_name['double_in']._loaded_options = None - _globals['_COMPLEXTESTMSG'].fields_by_name['double_in']._serialized_options = b'\272H\024\022\0222\020\264\310v\276\237\214|@\000\000\000\000\000\300^@' + _globals['_COMPLEXTESTMSG'].fields_by_name['double_in']._serialized_options = b'\272H\024\022\0221\264\310v\276\237\214|@1\000\000\000\000\000\300^@' _globals['_COMPLEXTESTMSG'].fields_by_name['enum_const']._loaded_options = None _globals['_COMPLEXTESTMSG'].fields_by_name['enum_const']._serialized_options = b'\272H\005\202\001\002\010\002' _globals['_COMPLEXTESTMSG'].fields_by_name['any_val']._loaded_options = None diff --git a/gen/buf/validate/conformance/cases/numbers_pb2.py b/gen/buf/validate/conformance/cases/numbers_pb2.py index 14a3b7a..29d8571 100644 --- a/gen/buf/validate/conformance/cases/numbers_pb2.py +++ b/gen/buf/validate/conformance/cases/numbers_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,buf/validate/conformance/cases/numbers.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1d\n\tFloatNone\x12\x10\n\x03val\x18\x01 \x01(\x02R\x03val\"*\n\nFloatConst\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\r\xa4p\x9d?R\x03val\",\n\x07\x46loatIn\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n2\x08\x85\xeb\x91@\xe1z\xfc@R\x03val\"+\n\nFloatNotIn\x12\x1d\n\x03val\x18\x01 \x01(\x02\x42\x0b\xbaH\x08\n\x06:\x04\x00\x00\x00\x00R\x03val\"\'\n\x07\x46loatLT\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\x15\x00\x00\x00\x00R\x03val\"(\n\x08\x46loatLTE\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\x1d\x00\x00\x80\x42R\x03val\"\'\n\x07\x46loatGT\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05%\x00\x00\x80\x41R\x03val\"(\n\x08\x46loatGTE\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05-\x00\x00\x00\x41R\x03val\".\n\tFloatGTLT\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x15\x00\x00 A%\x00\x00\x00\x00R\x03val\"0\n\x0b\x46loatExLTGT\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x15\x00\x00\x00\x00%\x00\x00 AR\x03val\"0\n\x0b\x46loatGTELTE\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x80\x43-\x00\x00\x00\x43R\x03val\"2\n\rFloatExGTELTE\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x00\x43-\x00\x00\x80\x43R\x03val\"(\n\x0b\x46loatFinite\x12\x19\n\x03val\x18\x01 \x01(\x02\x42\x07\xbaH\x04\n\x02@\x01R\x03val\"3\n\x0b\x46loatIgnore\x12$\n\x03val\x18\x01 \x01(\x02\x42\x12\xbaH\x0f\n\n\x1d\x00\x00\x80\x43-\x00\x00\x00\x43\xd0\x01\x01R\x03val\"6\n\x12\x46loatIncorrectType\x12 \n\x03val\x18\x01 \x01(\x02\x42\x0e\xbaH\x0b\x12\t!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"\x1e\n\nDoubleNone\x12\x10\n\x03val\x18\x01 \x01(\x01R\x03val\"/\n\x0b\x44oubleConst\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\t\xaeG\xe1z\x14\xae\xf3?R\x03val\"5\n\x08\x44oubleIn\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x32\x10=\n\xd7\xa3p=\x12@\x8f\xc2\xf5(\\\x8f\x1f@R\x03val\"0\n\x0b\x44oubleNotIn\x12!\n\x03val\x18\x01 \x01(\x01\x42\x0f\xbaH\x0c\x12\n:\x08\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\",\n\x08\x44oubleLT\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\x11\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tDoubleLTE\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\x19\x00\x00\x00\x00\x00\x00P@R\x03val\",\n\x08\x44oubleGT\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t!\x00\x00\x00\x00\x00\x00\x30@R\x03val\"-\n\tDoubleGTE\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t)\x00\x00\x00\x00\x00\x00 @R\x03val\"7\n\nDoubleGTLT\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x11\x00\x00\x00\x00\x00\x00$@!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"9\n\x0c\x44oubleExLTGT\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00$@R\x03val\"9\n\x0c\x44oubleGTELTE\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00p@)\x00\x00\x00\x00\x00\x00`@R\x03val\";\n\x0e\x44oubleExGTELTE\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00`@)\x00\x00\x00\x00\x00\x00p@R\x03val\")\n\x0c\x44oubleFinite\x12\x19\n\x03val\x18\x01 \x01(\x01\x42\x07\xbaH\x04\x12\x02@\x01R\x03val\"<\n\x0c\x44oubleIgnore\x12,\n\x03val\x18\x01 \x01(\x01\x42\x1a\xbaH\x17\x12\x12\x19\x00\x00\x00\x00\x00\x00p@)\x00\x00\x00\x00\x00\x00`@\xd0\x01\x01R\x03val\"3\n\x13\x44oubleIncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x01\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"\x1d\n\tInt32None\x12\x10\n\x03val\x18\x01 \x01(\x05R\x03val\"\'\n\nInt32Const\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x08\x01R\x03val\"&\n\x07Int32In\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x32\x02\x02\x03R\x03val\"(\n\nInt32NotIn\x12\x1a\n\x03val\x18\x01 \x01(\x05\x42\x08\xbaH\x05\x1a\x03:\x01\x00R\x03val\"$\n\x07Int32LT\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x10\x00R\x03val\"%\n\x08Int32LTE\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x18@R\x03val\"$\n\x07Int32GT\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x10R\x03val\"%\n\x08Int32GTE\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02(\x08R\x03val\"(\n\tInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x10\n \x00R\x03val\"*\n\x0bInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x10\x00 \nR\x03val\",\n\x0bInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\x02(\x80\x01R\x03val\".\n\rInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\x01(\x80\x02R\x03val\"/\n\x0bInt32Ignore\x12 \n\x03val\x18\x01 \x01(\x05\x42\x0e\xbaH\x0b\x1a\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"2\n\x12Int32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"\x1d\n\tInt64None\x12\x10\n\x03val\x18\x01 \x01(\x03R\x03val\"\'\n\nInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x08\x01R\x03val\"&\n\x07Int64In\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x32\x02\x02\x03R\x03val\"(\n\nInt64NotIn\x12\x1a\n\x03val\x18\x01 \x01(\x03\x42\x08\xbaH\x05\"\x03:\x01\x00R\x03val\"$\n\x07Int64LT\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x10\x00R\x03val\"%\n\x08Int64LTE\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x18@R\x03val\"$\n\x07Int64GT\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x10R\x03val\"%\n\x08Int64GTE\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x08R\x03val\"(\n\tInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x10\n \x00R\x03val\"*\n\x0bInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x10\x00 \nR\x03val\",\n\x0bInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\x80\x02(\x80\x01R\x03val\".\n\rInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\x80\x01(\x80\x02R\x03val\"/\n\x0bInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x03\x42\x0e\xbaH\x0b\"\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"\x8c\x04\n\x13Int64BigConstraints\x12\"\n\x06lt_pos\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x10\xa6\xdd\x87\xa4\x14R\x05ltPos\x12\'\n\x06lt_neg\x18\x02 \x01(\x03\x42\x10\xbaH\r\"\x0b\x10\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05ltNeg\x12\"\n\x06gt_pos\x18\x03 \x01(\x03\x42\x0b\xbaH\x08\"\x06 \xa6\xdd\x87\xa4\x14R\x05gtPos\x12\'\n\x06gt_neg\x18\x04 \x01(\x03\x42\x10\xbaH\r\"\x0b \xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05gtNeg\x12$\n\x07lte_pos\x18\x05 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\xa6\xdd\x87\xa4\x14R\x06ltePos\x12)\n\x07lte_neg\x18\x06 \x01(\x03\x42\x10\xbaH\r\"\x0b\x18\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x06lteNeg\x12$\n\x07gte_pos\x18\x07 \x01(\x03\x42\x0b\xbaH\x08\"\x06(\xa6\xdd\x87\xa4\x14R\x06gtePos\x12)\n\x07gte_neg\x18\x08 \x01(\x03\x42\x10\xbaH\r\"\x0b(\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x06gteNeg\x12.\n\x0c\x63onstant_pos\x18\t \x01(\x03\x42\x0b\xbaH\x08\"\x06\x08\xa6\xdd\x87\xa4\x14R\x0b\x63onstantPos\x12\x33\n\x0c\x63onstant_neg\x18\n \x01(\x03\x42\x10\xbaH\r\"\x0b\x08\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x0b\x63onstantNeg\x12&\n\x02in\x18\x0b \x01(\x03\x42\x16\xbaH\x13\"\x11\x32\x0f\xa6\xdd\x87\xa4\x14\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x02in\x12,\n\x05notin\x18\x0c \x01(\x03\x42\x16\xbaH\x13\"\x11:\x0f\xa6\xdd\x87\xa4\x14\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05notin\"2\n\x12Int64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x03\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"\x1e\n\nUInt32None\x12\x10\n\x03val\x18\x01 \x01(\rR\x03val\"(\n\x0bUInt32Const\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x08\x01R\x03val\"\'\n\x08UInt32In\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x32\x02\x02\x03R\x03val\")\n\x0bUInt32NotIn\x12\x1a\n\x03val\x18\x01 \x01(\rB\x08\xbaH\x05*\x03:\x01\x00R\x03val\"%\n\x08UInt32LT\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x10\x05R\x03val\"&\n\tUInt32LTE\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x18@R\x03val\"%\n\x08UInt32GT\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02 \x10R\x03val\"&\n\tUInt32GTE\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02(\x08R\x03val\")\n\nUInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x10\n \x05R\x03val\"+\n\x0cUInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x10\x05 \nR\x03val\"-\n\x0cUInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\rB\x0b\xbaH\x08*\x06\x18\x80\x02(\x80\x01R\x03val\"/\n\x0eUInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\rB\x0b\xbaH\x08*\x06\x18\x80\x01(\x80\x02R\x03val\"0\n\x0cUInt32Ignore\x12 \n\x03val\x18\x01 \x01(\rB\x0e\xbaH\x0b*\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"3\n\x13UInt32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\rB\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"\x1e\n\nUInt64None\x12\x10\n\x03val\x18\x01 \x01(\x04R\x03val\"(\n\x0bUInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x08\x01R\x03val\"\'\n\x08UInt64In\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x32\x02\x02\x03R\x03val\")\n\x0bUInt64NotIn\x12\x1a\n\x03val\x18\x01 \x01(\x04\x42\x08\xbaH\x05\x32\x03:\x01\x00R\x03val\"%\n\x08UInt64LT\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x10\x05R\x03val\"&\n\tUInt64LTE\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x18@R\x03val\"%\n\x08UInt64GT\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02 \x10R\x03val\"&\n\tUInt64GTE\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02(\x08R\x03val\")\n\nUInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x10\n \x05R\x03val\"+\n\x0cUInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x10\x05 \nR\x03val\"-\n\x0cUInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x04\x42\x0b\xbaH\x08\x32\x06\x18\x80\x02(\x80\x01R\x03val\"/\n\x0eUInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x04\x42\x0b\xbaH\x08\x32\x06\x18\x80\x01(\x80\x02R\x03val\"0\n\x0cUInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x04\x42\x0e\xbaH\x0b\x32\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"3\n\x13UInt64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x04\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"\x1e\n\nSInt32None\x12\x10\n\x03val\x18\x01 \x01(\x11R\x03val\"(\n\x0bSInt32Const\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x08\x02R\x03val\"\'\n\x08SInt32In\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x32\x02\x04\x06R\x03val\")\n\x0bSInt32NotIn\x12\x1a\n\x03val\x18\x01 \x01(\x11\x42\x08\xbaH\x05:\x03:\x01\x00R\x03val\"%\n\x08SInt32LT\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x10\x00R\x03val\"\'\n\tSInt32LTE\x12\x1a\n\x03val\x18\x01 \x01(\x11\x42\x08\xbaH\x05:\x03\x18\x80\x01R\x03val\"%\n\x08SInt32GT\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02 R\x03val\"&\n\tSInt32GTE\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02(\x10R\x03val\")\n\nSInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x10\x14 \x00R\x03val\"+\n\x0cSInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x10\x00 \x14R\x03val\"-\n\x0cSInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x11\x42\x0b\xbaH\x08:\x06\x18\x80\x04(\x80\x02R\x03val\"/\n\x0eSInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x11\x42\x0b\xbaH\x08:\x06\x18\x80\x02(\x80\x04R\x03val\"0\n\x0cSInt32Ignore\x12 \n\x03val\x18\x01 \x01(\x11\x42\x0e\xbaH\x0b:\x06\x18\x80\x04(\x80\x02\xd0\x01\x01R\x03val\"3\n\x13SInt32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x11\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"\x1e\n\nSInt64None\x12\x10\n\x03val\x18\x01 \x01(\x12R\x03val\"(\n\x0bSInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x08\x02R\x03val\"\'\n\x08SInt64In\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x32\x02\x04\x06R\x03val\")\n\x0bSInt64NotIn\x12\x1a\n\x03val\x18\x01 \x01(\x12\x42\x08\xbaH\x05\x42\x03:\x01\x00R\x03val\"%\n\x08SInt64LT\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x10\x00R\x03val\"\'\n\tSInt64LTE\x12\x1a\n\x03val\x18\x01 \x01(\x12\x42\x08\xbaH\x05\x42\x03\x18\x80\x01R\x03val\"%\n\x08SInt64GT\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02 R\x03val\"&\n\tSInt64GTE\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02(\x10R\x03val\")\n\nSInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x10\x14 \x00R\x03val\"+\n\x0cSInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x10\x00 \x14R\x03val\"-\n\x0cSInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x12\x42\x0b\xbaH\x08\x42\x06\x18\x80\x04(\x80\x02R\x03val\"/\n\x0eSInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x12\x42\x0b\xbaH\x08\x42\x06\x18\x80\x02(\x80\x04R\x03val\"0\n\x0cSInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x12\x42\x0e\xbaH\x0b\x42\x06\x18\x80\x04(\x80\x02\xd0\x01\x01R\x03val\"3\n\x13SInt64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x12\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"\x1f\n\x0b\x46ixed32None\x12\x10\n\x03val\x18\x01 \x01(\x07R\x03val\",\n\x0c\x46ixed32Const\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\r\x01\x00\x00\x00R\x03val\".\n\tFixed32In\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n2\x08\x02\x00\x00\x00\x03\x00\x00\x00R\x03val\"-\n\x0c\x46ixed32NotIn\x12\x1d\n\x03val\x18\x01 \x01(\x07\x42\x0b\xbaH\x08J\x06:\x04\x00\x00\x00\x00R\x03val\")\n\tFixed32LT\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x15\x05\x00\x00\x00R\x03val\"*\n\nFixed32LTE\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x1d@\x00\x00\x00R\x03val\")\n\tFixed32GT\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05%\x10\x00\x00\x00R\x03val\"*\n\nFixed32GTE\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05-\x08\x00\x00\x00R\x03val\"0\n\x0b\x46ixed32GTLT\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x15\n\x00\x00\x00%\x05\x00\x00\x00R\x03val\"2\n\rFixed32ExLTGT\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x15\x05\x00\x00\x00%\n\x00\x00\x00R\x03val\"2\n\rFixed32GTELTE\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00R\x03val\"4\n\x0f\x46ixed32ExGTELTE\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x1d\x80\x00\x00\x00-\x00\x01\x00\x00R\x03val\"5\n\rFixed32Ignore\x12$\n\x03val\x18\x01 \x01(\x07\x42\x12\xbaH\x0fJ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00\xd0\x01\x01R\x03val\"4\n\x14\x46ixed32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"\x1f\n\x0b\x46ixed64None\x12\x10\n\x03val\x18\x01 \x01(\x06R\x03val\"0\n\x0c\x46ixed64Const\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\t\x01\x00\x00\x00\x00\x00\x00\x00R\x03val\"6\n\tFixed64In\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x32\x10\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00R\x03val\"1\n\x0c\x46ixed64NotIn\x12!\n\x03val\x18\x01 \x01(\x06\x42\x0f\xbaH\x0cR\n:\x08\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tFixed64LT\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\x11\x05\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nFixed64LTE\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\x19@\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tFixed64GT\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t!\x10\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nFixed64GTE\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t)\x08\x00\x00\x00\x00\x00\x00\x00R\x03val\"8\n\x0b\x46ixed64GTLT\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x11\n\x00\x00\x00\x00\x00\x00\x00!\x05\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\rFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x11\x05\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\rFixed64GTELTE\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00R\x03val\"<\n\x0f\x46ixed64ExGTELTE\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x19\x80\x00\x00\x00\x00\x00\x00\x00)\x00\x01\x00\x00\x00\x00\x00\x00R\x03val\"=\n\rFixed64Ignore\x12,\n\x03val\x18\x01 \x01(\x06\x42\x1a\xbaH\x17R\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00\xd0\x01\x01R\x03val\"4\n\x14\x46ixed64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x06\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\" \n\x0cSFixed32None\x12\x10\n\x03val\x18\x01 \x01(\x0fR\x03val\"-\n\rSFixed32Const\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\r\x01\x00\x00\x00R\x03val\"/\n\nSFixed32In\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n2\x08\x02\x00\x00\x00\x03\x00\x00\x00R\x03val\".\n\rSFixed32NotIn\x12\x1d\n\x03val\x18\x01 \x01(\x0f\x42\x0b\xbaH\x08Z\x06:\x04\x00\x00\x00\x00R\x03val\"*\n\nSFixed32LT\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x15\x00\x00\x00\x00R\x03val\"+\n\x0bSFixed32LTE\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x1d@\x00\x00\x00R\x03val\"*\n\nSFixed32GT\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05%\x10\x00\x00\x00R\x03val\"+\n\x0bSFixed32GTE\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05-\x08\x00\x00\x00R\x03val\"1\n\x0cSFixed32GTLT\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x15\n\x00\x00\x00%\x00\x00\x00\x00R\x03val\"3\n\x0eSFixed32ExLTGT\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x15\x00\x00\x00\x00%\n\x00\x00\x00R\x03val\"3\n\x0eSFixed32GTELTE\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00R\x03val\"5\n\x10SFixed32ExGTELTE\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x1d\x80\x00\x00\x00-\x00\x01\x00\x00R\x03val\"6\n\x0eSFixed32Ignore\x12$\n\x03val\x18\x01 \x01(\x0f\x42\x12\xbaH\x0fZ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00\xd0\x01\x01R\x03val\"5\n\x15SFixed32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\" \n\x0cSFixed64None\x12\x10\n\x03val\x18\x01 \x01(\x10R\x03val\"1\n\rSFixed64Const\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\t\x01\x00\x00\x00\x00\x00\x00\x00R\x03val\"7\n\nSFixed64In\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x32\x10\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00R\x03val\"2\n\rSFixed64NotIn\x12!\n\x03val\x18\x01 \x01(\x10\x42\x0f\xbaH\x0c\x62\n:\x08\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nSFixed64LT\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\x11\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"/\n\x0bSFixed64LTE\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\x19@\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nSFixed64GT\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t!\x10\x00\x00\x00\x00\x00\x00\x00R\x03val\"/\n\x0bSFixed64GTE\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t)\x08\x00\x00\x00\x00\x00\x00\x00R\x03val\"9\n\x0cSFixed64GTLT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\n\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\";\n\x0eSFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\";\n\x0eSFixed64GTELTE\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00R\x03val\"=\n\x10SFixed64ExGTELTE\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x19\x80\x00\x00\x00\x00\x00\x00\x00)\x00\x01\x00\x00\x00\x00\x00\x00R\x03val\">\n\x0eSFixed64Ignore\x12,\n\x03val\x18\x01 \x01(\x10\x42\x1a\xbaH\x17\x62\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00\xd0\x01\x01R\x03val\"5\n\x15SFixed64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x10\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\":\n\x10Int64LTEOptional\x12\x1e\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x18@H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,buf/validate/conformance/cases/numbers.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1d\n\tFloatNone\x12\x10\n\x03val\x18\x01 \x01(\x02R\x03val\"*\n\nFloatConst\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\r\xa4p\x9d?R\x03val\",\n\x07\x46loatIn\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n5\x85\xeb\x91@5\xe1z\xfc@R\x03val\"*\n\nFloatNotIn\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05=\x00\x00\x00\x00R\x03val\"\'\n\x07\x46loatLT\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\x15\x00\x00\x00\x00R\x03val\"(\n\x08\x46loatLTE\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05\x1d\x00\x00\x80\x42R\x03val\"\'\n\x07\x46loatGT\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05%\x00\x00\x80\x41R\x03val\"(\n\x08\x46loatGTE\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05-\x00\x00\x00\x41R\x03val\".\n\tFloatGTLT\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x15\x00\x00 A%\x00\x00\x00\x00R\x03val\"0\n\x0b\x46loatExLTGT\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x15\x00\x00\x00\x00%\x00\x00 AR\x03val\"0\n\x0b\x46loatGTELTE\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x80\x43-\x00\x00\x00\x43R\x03val\"2\n\rFloatExGTELTE\x12!\n\x03val\x18\x01 \x01(\x02\x42\x0f\xbaH\x0c\n\n\x1d\x00\x00\x00\x43-\x00\x00\x80\x43R\x03val\"(\n\x0b\x46loatFinite\x12\x19\n\x03val\x18\x01 \x01(\x02\x42\x07\xbaH\x04\n\x02@\x01R\x03val\")\n\x0e\x46loatNotFinite\x12\x17\n\x03val\x18\x01 \x01(\x02\x42\x05\xbaH\x02\n\x00R\x03val\"3\n\x0b\x46loatIgnore\x12$\n\x03val\x18\x01 \x01(\x02\x42\x12\xbaH\x0f\n\n\x1d\x00\x00\x80\x43-\x00\x00\x00\x43\xd0\x01\x01R\x03val\"6\n\x12\x46loatIncorrectType\x12 \n\x03val\x18\x01 \x01(\x02\x42\x0e\xbaH\x0b\x12\t!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\",\n\x0c\x46loatExample\x12\x1c\n\x03val\x18\x01 \x01(\x02\x42\n\xbaH\x07\n\x05M\x00\x00\x00\x41R\x03val\"\x1e\n\nDoubleNone\x12\x10\n\x03val\x18\x01 \x01(\x01R\x03val\"/\n\x0b\x44oubleConst\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\t\xaeG\xe1z\x14\xae\xf3?R\x03val\"5\n\x08\x44oubleIn\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x31=\n\xd7\xa3p=\x12@1\x8f\xc2\xf5(\\\x8f\x1f@R\x03val\"/\n\x0b\x44oubleNotIn\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\",\n\x08\x44oubleLT\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\x11\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tDoubleLTE\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t\x19\x00\x00\x00\x00\x00\x00P@R\x03val\",\n\x08\x44oubleGT\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t!\x00\x00\x00\x00\x00\x00\x30@R\x03val\"-\n\tDoubleGTE\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\t)\x00\x00\x00\x00\x00\x00 @R\x03val\"7\n\nDoubleGTLT\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x11\x00\x00\x00\x00\x00\x00$@!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"9\n\x0c\x44oubleExLTGT\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00$@R\x03val\"9\n\x0c\x44oubleGTELTE\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00p@)\x00\x00\x00\x00\x00\x00`@R\x03val\";\n\x0e\x44oubleExGTELTE\x12)\n\x03val\x18\x01 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00`@)\x00\x00\x00\x00\x00\x00p@R\x03val\")\n\x0c\x44oubleFinite\x12\x19\n\x03val\x18\x01 \x01(\x01\x42\x07\xbaH\x04\x12\x02@\x01R\x03val\"*\n\x0f\x44oubleNotFinite\x12\x17\n\x03val\x18\x01 \x01(\x01\x42\x05\xbaH\x02\x12\x00R\x03val\"<\n\x0c\x44oubleIgnore\x12,\n\x03val\x18\x01 \x01(\x01\x42\x1a\xbaH\x17\x12\x12\x19\x00\x00\x00\x00\x00\x00p@)\x00\x00\x00\x00\x00\x00`@\xd0\x01\x01R\x03val\"3\n\x13\x44oubleIncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x01\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"1\n\rDoubleExample\x12 \n\x03val\x18\x01 \x01(\x01\x42\x0e\xbaH\x0b\x12\tI\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"\x1d\n\tInt32None\x12\x10\n\x03val\x18\x01 \x01(\x05R\x03val\"\'\n\nInt32Const\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x08\x01R\x03val\"&\n\x07Int32In\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x30\x02\x30\x03R\x03val\"\'\n\nInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x38\x00R\x03val\"$\n\x07Int32LT\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x10\x00R\x03val\"%\n\x08Int32LTE\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02\x18@R\x03val\"$\n\x07Int32GT\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x10R\x03val\"%\n\x08Int32GTE\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02(\x08R\x03val\"(\n\tInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x10\n \x00R\x03val\"*\n\x0bInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x10\x00 \nR\x03val\",\n\x0bInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\x02(\x80\x01R\x03val\".\n\rInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\x01(\x80\x02R\x03val\"/\n\x0bInt32Ignore\x12 \n\x03val\x18\x01 \x01(\x05\x42\x0e\xbaH\x0b\x1a\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"2\n\x12Int32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x05\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\")\n\x0cInt32Example\x12\x19\n\x03val\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02@\nR\x03val\"\x1d\n\tInt64None\x12\x10\n\x03val\x18\x01 \x01(\x03R\x03val\"\'\n\nInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x08\x01R\x03val\"&\n\x07Int64In\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x30\x02\x30\x03R\x03val\"\'\n\nInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x38\x00R\x03val\"$\n\x07Int64LT\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x10\x00R\x03val\"%\n\x08Int64LTE\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x18@R\x03val\"$\n\x07Int64GT\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x10R\x03val\"%\n\x08Int64GTE\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x08R\x03val\"(\n\tInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x10\n \x00R\x03val\"*\n\x0bInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x03\x42\t\xbaH\x06\"\x04\x10\x00 \nR\x03val\",\n\x0bInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\x80\x02(\x80\x01R\x03val\".\n\rInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\x80\x01(\x80\x02R\x03val\"/\n\x0bInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x03\x42\x0e\xbaH\x0b\"\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"\x8c\x04\n\x13Int64BigConstraints\x12\"\n\x06lt_pos\x18\x01 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x10\xa6\xdd\x87\xa4\x14R\x05ltPos\x12\'\n\x06lt_neg\x18\x02 \x01(\x03\x42\x10\xbaH\r\"\x0b\x10\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05ltNeg\x12\"\n\x06gt_pos\x18\x03 \x01(\x03\x42\x0b\xbaH\x08\"\x06 \xa6\xdd\x87\xa4\x14R\x05gtPos\x12\'\n\x06gt_neg\x18\x04 \x01(\x03\x42\x10\xbaH\r\"\x0b \xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05gtNeg\x12$\n\x07lte_pos\x18\x05 \x01(\x03\x42\x0b\xbaH\x08\"\x06\x18\xa6\xdd\x87\xa4\x14R\x06ltePos\x12)\n\x07lte_neg\x18\x06 \x01(\x03\x42\x10\xbaH\r\"\x0b\x18\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x06lteNeg\x12$\n\x07gte_pos\x18\x07 \x01(\x03\x42\x0b\xbaH\x08\"\x06(\xa6\xdd\x87\xa4\x14R\x06gtePos\x12)\n\x07gte_neg\x18\x08 \x01(\x03\x42\x10\xbaH\r\"\x0b(\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x06gteNeg\x12.\n\x0c\x63onstant_pos\x18\t \x01(\x03\x42\x0b\xbaH\x08\"\x06\x08\xa6\xdd\x87\xa4\x14R\x0b\x63onstantPos\x12\x33\n\x0c\x63onstant_neg\x18\n \x01(\x03\x42\x10\xbaH\r\"\x0b\x08\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x0b\x63onstantNeg\x12&\n\x02in\x18\x0b \x01(\x03\x42\x16\xbaH\x13\"\x11\x30\xa6\xdd\x87\xa4\x14\x30\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x02in\x12,\n\x05notin\x18\x0c \x01(\x03\x42\x16\xbaH\x13\"\x11\x38\xa6\xdd\x87\xa4\x14\x38\xda\xa2\xf8\xdb\xeb\xff\xff\xff\xff\x01R\x05notin\"2\n\x12Int64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x03\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\")\n\x0cInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02H\nR\x03val\"\x1e\n\nUInt32None\x12\x10\n\x03val\x18\x01 \x01(\rR\x03val\"(\n\x0bUInt32Const\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x08\x01R\x03val\"\'\n\x08UInt32In\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x30\x02\x30\x03R\x03val\"(\n\x0bUInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x38\x00R\x03val\"%\n\x08UInt32LT\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x10\x05R\x03val\"&\n\tUInt32LTE\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02\x18@R\x03val\"%\n\x08UInt32GT\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02 \x10R\x03val\"&\n\tUInt32GTE\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02(\x08R\x03val\")\n\nUInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x10\n \x05R\x03val\"+\n\x0cUInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x10\x05 \nR\x03val\"-\n\x0cUInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\rB\x0b\xbaH\x08*\x06\x18\x80\x02(\x80\x01R\x03val\"/\n\x0eUInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\rB\x0b\xbaH\x08*\x06\x18\x80\x01(\x80\x02R\x03val\"0\n\x0cUInt32Ignore\x12 \n\x03val\x18\x01 \x01(\rB\x0e\xbaH\x0b*\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"3\n\x13UInt32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\rB\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rUInt32Example\x12\x19\n\x03val\x18\x01 \x01(\rB\x07\xbaH\x04*\x02@\x00R\x03val\"\x1e\n\nUInt64None\x12\x10\n\x03val\x18\x01 \x01(\x04R\x03val\"(\n\x0bUInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x08\x01R\x03val\"\'\n\x08UInt64In\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x30\x02\x30\x03R\x03val\"(\n\x0bUInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x38\x00R\x03val\"%\n\x08UInt64LT\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x10\x05R\x03val\"&\n\tUInt64LTE\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02\x18@R\x03val\"%\n\x08UInt64GT\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02 \x10R\x03val\"&\n\tUInt64GTE\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02(\x08R\x03val\")\n\nUInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x10\n \x05R\x03val\"+\n\x0cUInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x04\x42\t\xbaH\x06\x32\x04\x10\x05 \nR\x03val\"-\n\x0cUInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x04\x42\x0b\xbaH\x08\x32\x06\x18\x80\x02(\x80\x01R\x03val\"/\n\x0eUInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x04\x42\x0b\xbaH\x08\x32\x06\x18\x80\x01(\x80\x02R\x03val\"0\n\x0cUInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x04\x42\x0e\xbaH\x0b\x32\x06\x18\x80\x02(\x80\x01\xd0\x01\x01R\x03val\"3\n\x13UInt64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x04\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rUInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x04\x42\x07\xbaH\x04\x32\x02@\x00R\x03val\"\x1e\n\nSInt32None\x12\x10\n\x03val\x18\x01 \x01(\x11R\x03val\"(\n\x0bSInt32Const\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x08\x02R\x03val\"\'\n\x08SInt32In\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x30\x04\x30\x06R\x03val\"(\n\x0bSInt32NotIn\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x38\x00R\x03val\"%\n\x08SInt32LT\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02\x10\x00R\x03val\"\'\n\tSInt32LTE\x12\x1a\n\x03val\x18\x01 \x01(\x11\x42\x08\xbaH\x05:\x03\x18\x80\x01R\x03val\"%\n\x08SInt32GT\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02 R\x03val\"&\n\tSInt32GTE\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02(\x10R\x03val\")\n\nSInt32GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x10\x14 \x00R\x03val\"+\n\x0cSInt32ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x11\x42\t\xbaH\x06:\x04\x10\x00 \x14R\x03val\"-\n\x0cSInt32GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x11\x42\x0b\xbaH\x08:\x06\x18\x80\x04(\x80\x02R\x03val\"/\n\x0eSInt32ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x11\x42\x0b\xbaH\x08:\x06\x18\x80\x02(\x80\x04R\x03val\"0\n\x0cSInt32Ignore\x12 \n\x03val\x18\x01 \x01(\x11\x42\x0e\xbaH\x0b:\x06\x18\x80\x04(\x80\x02\xd0\x01\x01R\x03val\"3\n\x13SInt32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x11\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rSInt32Example\x12\x19\n\x03val\x18\x01 \x01(\x11\x42\x07\xbaH\x04:\x02@\x00R\x03val\"\x1e\n\nSInt64None\x12\x10\n\x03val\x18\x01 \x01(\x12R\x03val\"(\n\x0bSInt64Const\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x08\x02R\x03val\"\'\n\x08SInt64In\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x30\x04\x30\x06R\x03val\"(\n\x0bSInt64NotIn\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x38\x00R\x03val\"%\n\x08SInt64LT\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02\x10\x00R\x03val\"\'\n\tSInt64LTE\x12\x1a\n\x03val\x18\x01 \x01(\x12\x42\x08\xbaH\x05\x42\x03\x18\x80\x01R\x03val\"%\n\x08SInt64GT\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02 R\x03val\"&\n\tSInt64GTE\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02(\x10R\x03val\")\n\nSInt64GTLT\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x10\x14 \x00R\x03val\"+\n\x0cSInt64ExLTGT\x12\x1b\n\x03val\x18\x01 \x01(\x12\x42\t\xbaH\x06\x42\x04\x10\x00 \x14R\x03val\"-\n\x0cSInt64GTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x12\x42\x0b\xbaH\x08\x42\x06\x18\x80\x04(\x80\x02R\x03val\"/\n\x0eSInt64ExGTELTE\x12\x1d\n\x03val\x18\x01 \x01(\x12\x42\x0b\xbaH\x08\x42\x06\x18\x80\x02(\x80\x04R\x03val\"0\n\x0cSInt64Ignore\x12 \n\x03val\x18\x01 \x01(\x12\x42\x0e\xbaH\x0b\x42\x06\x18\x80\x04(\x80\x02\xd0\x01\x01R\x03val\"3\n\x13SInt64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x12\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"*\n\rSInt64Example\x12\x19\n\x03val\x18\x01 \x01(\x12\x42\x07\xbaH\x04\x42\x02@\x00R\x03val\"\x1f\n\x0b\x46ixed32None\x12\x10\n\x03val\x18\x01 \x01(\x07R\x03val\",\n\x0c\x46ixed32Const\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\r\x01\x00\x00\x00R\x03val\".\n\tFixed32In\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n5\x02\x00\x00\x00\x35\x03\x00\x00\x00R\x03val\",\n\x0c\x46ixed32NotIn\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05=\x00\x00\x00\x00R\x03val\")\n\tFixed32LT\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x15\x05\x00\x00\x00R\x03val\"*\n\nFixed32LTE\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x1d@\x00\x00\x00R\x03val\")\n\tFixed32GT\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05%\x10\x00\x00\x00R\x03val\"*\n\nFixed32GTE\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05-\x08\x00\x00\x00R\x03val\"0\n\x0b\x46ixed32GTLT\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x15\n\x00\x00\x00%\x05\x00\x00\x00R\x03val\"2\n\rFixed32ExLTGT\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x15\x05\x00\x00\x00%\n\x00\x00\x00R\x03val\"2\n\rFixed32GTELTE\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00R\x03val\"4\n\x0f\x46ixed32ExGTELTE\x12!\n\x03val\x18\x01 \x01(\x07\x42\x0f\xbaH\x0cJ\n\x1d\x80\x00\x00\x00-\x00\x01\x00\x00R\x03val\"5\n\rFixed32Ignore\x12$\n\x03val\x18\x01 \x01(\x07\x42\x12\xbaH\x0fJ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00\xd0\x01\x01R\x03val\"4\n\x14\x46ixed32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\".\n\x0e\x46ixed32Example\x12\x1c\n\x03val\x18\x01 \x01(\x07\x42\n\xbaH\x07J\x05\x45\x00\x00\x00\x00R\x03val\"\x1f\n\x0b\x46ixed64None\x12\x10\n\x03val\x18\x01 \x01(\x06R\x03val\"0\n\x0c\x46ixed64Const\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\t\x01\x00\x00\x00\x00\x00\x00\x00R\x03val\"6\n\tFixed64In\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x31\x02\x00\x00\x00\x00\x00\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00R\x03val\"0\n\x0c\x46ixed64NotIn\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tFixed64LT\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\x11\x05\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nFixed64LTE\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t\x19@\x00\x00\x00\x00\x00\x00\x00R\x03val\"-\n\tFixed64GT\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t!\x10\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nFixed64GTE\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\t)\x08\x00\x00\x00\x00\x00\x00\x00R\x03val\"8\n\x0b\x46ixed64GTLT\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x11\n\x00\x00\x00\x00\x00\x00\x00!\x05\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\rFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x11\x05\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\rFixed64GTELTE\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00R\x03val\"<\n\x0f\x46ixed64ExGTELTE\x12)\n\x03val\x18\x01 \x01(\x06\x42\x17\xbaH\x14R\x12\x19\x80\x00\x00\x00\x00\x00\x00\x00)\x00\x01\x00\x00\x00\x00\x00\x00R\x03val\"=\n\rFixed64Ignore\x12,\n\x03val\x18\x01 \x01(\x06\x42\x1a\xbaH\x17R\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00\xd0\x01\x01R\x03val\"4\n\x14\x46ixed64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x06\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"2\n\x0e\x46ixed64Example\x12 \n\x03val\x18\x01 \x01(\x06\x42\x0e\xbaH\x0bR\tA\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\" \n\x0cSFixed32None\x12\x10\n\x03val\x18\x01 \x01(\x0fR\x03val\"-\n\rSFixed32Const\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\r\x01\x00\x00\x00R\x03val\"/\n\nSFixed32In\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n5\x02\x00\x00\x00\x35\x03\x00\x00\x00R\x03val\"-\n\rSFixed32NotIn\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05=\x00\x00\x00\x00R\x03val\"*\n\nSFixed32LT\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x15\x00\x00\x00\x00R\x03val\"+\n\x0bSFixed32LTE\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x1d@\x00\x00\x00R\x03val\"*\n\nSFixed32GT\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05%\x10\x00\x00\x00R\x03val\"+\n\x0bSFixed32GTE\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05-\x08\x00\x00\x00R\x03val\"1\n\x0cSFixed32GTLT\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x15\n\x00\x00\x00%\x00\x00\x00\x00R\x03val\"3\n\x0eSFixed32ExLTGT\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x15\x00\x00\x00\x00%\n\x00\x00\x00R\x03val\"3\n\x0eSFixed32GTELTE\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00R\x03val\"5\n\x10SFixed32ExGTELTE\x12!\n\x03val\x18\x01 \x01(\x0f\x42\x0f\xbaH\x0cZ\n\x1d\x80\x00\x00\x00-\x00\x01\x00\x00R\x03val\"6\n\x0eSFixed32Ignore\x12$\n\x03val\x18\x01 \x01(\x0f\x42\x12\xbaH\x0fZ\n\x1d\x00\x01\x00\x00-\x80\x00\x00\x00\xd0\x01\x01R\x03val\"5\n\x15SFixed32IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"/\n\x0fSFixed32Example\x12\x1c\n\x03val\x18\x01 \x01(\x0f\x42\n\xbaH\x07Z\x05\x45\x00\x00\x00\x00R\x03val\" \n\x0cSFixed64None\x12\x10\n\x03val\x18\x01 \x01(\x10R\x03val\"1\n\rSFixed64Const\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\t\x01\x00\x00\x00\x00\x00\x00\x00R\x03val\"7\n\nSFixed64In\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x31\x02\x00\x00\x00\x00\x00\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00R\x03val\"1\n\rSFixed64NotIn\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t9\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nSFixed64LT\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\x11\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\"/\n\x0bSFixed64LTE\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t\x19@\x00\x00\x00\x00\x00\x00\x00R\x03val\".\n\nSFixed64GT\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t!\x10\x00\x00\x00\x00\x00\x00\x00R\x03val\"/\n\x0bSFixed64GTE\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\t)\x08\x00\x00\x00\x00\x00\x00\x00R\x03val\"9\n\x0cSFixed64GTLT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\n\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\";\n\x0eSFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\";\n\x0eSFixed64GTELTE\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00R\x03val\"=\n\x10SFixed64ExGTELTE\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x19\x80\x00\x00\x00\x00\x00\x00\x00)\x00\x01\x00\x00\x00\x00\x00\x00R\x03val\">\n\x0eSFixed64Ignore\x12,\n\x03val\x18\x01 \x01(\x10\x42\x1a\xbaH\x17\x62\x12\x19\x00\x01\x00\x00\x00\x00\x00\x00)\x80\x00\x00\x00\x00\x00\x00\x00\xd0\x01\x01R\x03val\"5\n\x15SFixed64IncorrectType\x12\x1c\n\x03val\x18\x01 \x01(\x10\x42\n\xbaH\x07\n\x05%\x00\x00\x00\x00R\x03val\"3\n\x0fSFixed64Example\x12 \n\x03val\x18\x01 \x01(\x10\x42\x0e\xbaH\x0b\x62\tA\x00\x00\x00\x00\x00\x00\x00\x00R\x03val\":\n\x10Int64LTEOptional\x12\x1e\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02\x18@H\x00R\x03val\x88\x01\x01\x42\x06\n\x04_valb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -49,9 +49,9 @@ _globals['_FLOATCONST'].fields_by_name['val']._loaded_options = None _globals['_FLOATCONST'].fields_by_name['val']._serialized_options = b'\272H\007\n\005\r\244p\235?' _globals['_FLOATIN'].fields_by_name['val']._loaded_options = None - _globals['_FLOATIN'].fields_by_name['val']._serialized_options = b'\272H\014\n\n2\010\205\353\221@\341z\374@' + _globals['_FLOATIN'].fields_by_name['val']._serialized_options = b'\272H\014\n\n5\205\353\221@5\341z\374@' _globals['_FLOATNOTIN'].fields_by_name['val']._loaded_options = None - _globals['_FLOATNOTIN'].fields_by_name['val']._serialized_options = b'\272H\010\n\006:\004\000\000\000\000' + _globals['_FLOATNOTIN'].fields_by_name['val']._serialized_options = b'\272H\007\n\005=\000\000\000\000' _globals['_FLOATLT'].fields_by_name['val']._loaded_options = None _globals['_FLOATLT'].fields_by_name['val']._serialized_options = b'\272H\007\n\005\025\000\000\000\000' _globals['_FLOATLTE'].fields_by_name['val']._loaded_options = None @@ -70,16 +70,20 @@ _globals['_FLOATEXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\014\n\n\035\000\000\000C-\000\000\200C' _globals['_FLOATFINITE'].fields_by_name['val']._loaded_options = None _globals['_FLOATFINITE'].fields_by_name['val']._serialized_options = b'\272H\004\n\002@\001' + _globals['_FLOATNOTFINITE'].fields_by_name['val']._loaded_options = None + _globals['_FLOATNOTFINITE'].fields_by_name['val']._serialized_options = b'\272H\002\n\000' _globals['_FLOATIGNORE'].fields_by_name['val']._loaded_options = None _globals['_FLOATIGNORE'].fields_by_name['val']._serialized_options = b'\272H\017\n\n\035\000\000\200C-\000\000\000C\320\001\001' _globals['_FLOATINCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_FLOATINCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\013\022\t!\000\000\000\000\000\000\000\000' + _globals['_FLOATEXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_FLOATEXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005M\000\000\000A' _globals['_DOUBLECONST'].fields_by_name['val']._loaded_options = None _globals['_DOUBLECONST'].fields_by_name['val']._serialized_options = b'\272H\013\022\t\t\256G\341z\024\256\363?' _globals['_DOUBLEIN'].fields_by_name['val']._loaded_options = None - _globals['_DOUBLEIN'].fields_by_name['val']._serialized_options = b'\272H\024\022\0222\020=\n\327\243p=\022@\217\302\365(\\\217\037@' + _globals['_DOUBLEIN'].fields_by_name['val']._serialized_options = b'\272H\024\022\0221=\n\327\243p=\022@1\217\302\365(\\\217\037@' _globals['_DOUBLENOTIN'].fields_by_name['val']._loaded_options = None - _globals['_DOUBLENOTIN'].fields_by_name['val']._serialized_options = b'\272H\014\022\n:\010\000\000\000\000\000\000\000\000' + _globals['_DOUBLENOTIN'].fields_by_name['val']._serialized_options = b'\272H\013\022\t9\000\000\000\000\000\000\000\000' _globals['_DOUBLELT'].fields_by_name['val']._loaded_options = None _globals['_DOUBLELT'].fields_by_name['val']._serialized_options = b'\272H\013\022\t\021\000\000\000\000\000\000\000\000' _globals['_DOUBLELTE'].fields_by_name['val']._loaded_options = None @@ -98,16 +102,20 @@ _globals['_DOUBLEEXGTELTE'].fields_by_name['val']._serialized_options = b'\272H\024\022\022\031\000\000\000\000\000\000`@)\000\000\000\000\000\000p@' _globals['_DOUBLEFINITE'].fields_by_name['val']._loaded_options = None _globals['_DOUBLEFINITE'].fields_by_name['val']._serialized_options = b'\272H\004\022\002@\001' + _globals['_DOUBLENOTFINITE'].fields_by_name['val']._loaded_options = None + _globals['_DOUBLENOTFINITE'].fields_by_name['val']._serialized_options = b'\272H\002\022\000' _globals['_DOUBLEIGNORE'].fields_by_name['val']._loaded_options = None _globals['_DOUBLEIGNORE'].fields_by_name['val']._serialized_options = b'\272H\027\022\022\031\000\000\000\000\000\000p@)\000\000\000\000\000\000`@\320\001\001' _globals['_DOUBLEINCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_DOUBLEINCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_DOUBLEEXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_DOUBLEEXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\013\022\tI\000\000\000\000\000\000\000\000' _globals['_INT32CONST'].fields_by_name['val']._loaded_options = None _globals['_INT32CONST'].fields_by_name['val']._serialized_options = b'\272H\004\032\002\010\001' _globals['_INT32IN'].fields_by_name['val']._loaded_options = None - _globals['_INT32IN'].fields_by_name['val']._serialized_options = b'\272H\006\032\0042\002\002\003' + _globals['_INT32IN'].fields_by_name['val']._serialized_options = b'\272H\006\032\0040\0020\003' _globals['_INT32NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_INT32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\005\032\003:\001\000' + _globals['_INT32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\004\032\0028\000' _globals['_INT32LT'].fields_by_name['val']._loaded_options = None _globals['_INT32LT'].fields_by_name['val']._serialized_options = b'\272H\004\032\002\020\000' _globals['_INT32LTE'].fields_by_name['val']._loaded_options = None @@ -128,12 +136,14 @@ _globals['_INT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013\032\006\030\200\002(\200\001\320\001\001' _globals['_INT32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_INT32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_INT32EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_INT32EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\004\032\002@\n' _globals['_INT64CONST'].fields_by_name['val']._loaded_options = None _globals['_INT64CONST'].fields_by_name['val']._serialized_options = b'\272H\004\"\002\010\001' _globals['_INT64IN'].fields_by_name['val']._loaded_options = None - _globals['_INT64IN'].fields_by_name['val']._serialized_options = b'\272H\006\"\0042\002\002\003' + _globals['_INT64IN'].fields_by_name['val']._serialized_options = b'\272H\006\"\0040\0020\003' _globals['_INT64NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_INT64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\005\"\003:\001\000' + _globals['_INT64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\004\"\0028\000' _globals['_INT64LT'].fields_by_name['val']._loaded_options = None _globals['_INT64LT'].fields_by_name['val']._serialized_options = b'\272H\004\"\002\020\000' _globals['_INT64LTE'].fields_by_name['val']._loaded_options = None @@ -173,17 +183,19 @@ _globals['_INT64BIGCONSTRAINTS'].fields_by_name['constant_neg']._loaded_options = None _globals['_INT64BIGCONSTRAINTS'].fields_by_name['constant_neg']._serialized_options = b'\272H\r\"\013\010\332\242\370\333\353\377\377\377\377\001' _globals['_INT64BIGCONSTRAINTS'].fields_by_name['in']._loaded_options = None - _globals['_INT64BIGCONSTRAINTS'].fields_by_name['in']._serialized_options = b'\272H\023\"\0212\017\246\335\207\244\024\332\242\370\333\353\377\377\377\377\001' + _globals['_INT64BIGCONSTRAINTS'].fields_by_name['in']._serialized_options = b'\272H\023\"\0210\246\335\207\244\0240\332\242\370\333\353\377\377\377\377\001' _globals['_INT64BIGCONSTRAINTS'].fields_by_name['notin']._loaded_options = None - _globals['_INT64BIGCONSTRAINTS'].fields_by_name['notin']._serialized_options = b'\272H\023\"\021:\017\246\335\207\244\024\332\242\370\333\353\377\377\377\377\001' + _globals['_INT64BIGCONSTRAINTS'].fields_by_name['notin']._serialized_options = b'\272H\023\"\0218\246\335\207\244\0248\332\242\370\333\353\377\377\377\377\001' _globals['_INT64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_INT64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_INT64EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_INT64EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\004\"\002H\n' _globals['_UINT32CONST'].fields_by_name['val']._loaded_options = None _globals['_UINT32CONST'].fields_by_name['val']._serialized_options = b'\272H\004*\002\010\001' _globals['_UINT32IN'].fields_by_name['val']._loaded_options = None - _globals['_UINT32IN'].fields_by_name['val']._serialized_options = b'\272H\006*\0042\002\002\003' + _globals['_UINT32IN'].fields_by_name['val']._serialized_options = b'\272H\006*\0040\0020\003' _globals['_UINT32NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_UINT32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\005*\003:\001\000' + _globals['_UINT32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\004*\0028\000' _globals['_UINT32LT'].fields_by_name['val']._loaded_options = None _globals['_UINT32LT'].fields_by_name['val']._serialized_options = b'\272H\004*\002\020\005' _globals['_UINT32LTE'].fields_by_name['val']._loaded_options = None @@ -204,12 +216,14 @@ _globals['_UINT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013*\006\030\200\002(\200\001\320\001\001' _globals['_UINT32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_UINT32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_UINT32EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_UINT32EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\004*\002@\000' _globals['_UINT64CONST'].fields_by_name['val']._loaded_options = None _globals['_UINT64CONST'].fields_by_name['val']._serialized_options = b'\272H\0042\002\010\001' _globals['_UINT64IN'].fields_by_name['val']._loaded_options = None - _globals['_UINT64IN'].fields_by_name['val']._serialized_options = b'\272H\0062\0042\002\002\003' + _globals['_UINT64IN'].fields_by_name['val']._serialized_options = b'\272H\0062\0040\0020\003' _globals['_UINT64NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_UINT64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\0052\003:\001\000' + _globals['_UINT64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\0042\0028\000' _globals['_UINT64LT'].fields_by_name['val']._loaded_options = None _globals['_UINT64LT'].fields_by_name['val']._serialized_options = b'\272H\0042\002\020\005' _globals['_UINT64LTE'].fields_by_name['val']._loaded_options = None @@ -230,12 +244,14 @@ _globals['_UINT64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\0132\006\030\200\002(\200\001\320\001\001' _globals['_UINT64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_UINT64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_UINT64EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_UINT64EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\0042\002@\000' _globals['_SINT32CONST'].fields_by_name['val']._loaded_options = None _globals['_SINT32CONST'].fields_by_name['val']._serialized_options = b'\272H\004:\002\010\002' _globals['_SINT32IN'].fields_by_name['val']._loaded_options = None - _globals['_SINT32IN'].fields_by_name['val']._serialized_options = b'\272H\006:\0042\002\004\006' + _globals['_SINT32IN'].fields_by_name['val']._serialized_options = b'\272H\006:\0040\0040\006' _globals['_SINT32NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_SINT32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\005:\003:\001\000' + _globals['_SINT32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\004:\0028\000' _globals['_SINT32LT'].fields_by_name['val']._loaded_options = None _globals['_SINT32LT'].fields_by_name['val']._serialized_options = b'\272H\004:\002\020\000' _globals['_SINT32LTE'].fields_by_name['val']._loaded_options = None @@ -256,12 +272,14 @@ _globals['_SINT32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013:\006\030\200\004(\200\002\320\001\001' _globals['_SINT32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_SINT32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_SINT32EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_SINT32EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\004:\002@\000' _globals['_SINT64CONST'].fields_by_name['val']._loaded_options = None _globals['_SINT64CONST'].fields_by_name['val']._serialized_options = b'\272H\004B\002\010\002' _globals['_SINT64IN'].fields_by_name['val']._loaded_options = None - _globals['_SINT64IN'].fields_by_name['val']._serialized_options = b'\272H\006B\0042\002\004\006' + _globals['_SINT64IN'].fields_by_name['val']._serialized_options = b'\272H\006B\0040\0040\006' _globals['_SINT64NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_SINT64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\005B\003:\001\000' + _globals['_SINT64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\004B\0028\000' _globals['_SINT64LT'].fields_by_name['val']._loaded_options = None _globals['_SINT64LT'].fields_by_name['val']._serialized_options = b'\272H\004B\002\020\000' _globals['_SINT64LTE'].fields_by_name['val']._loaded_options = None @@ -282,12 +300,14 @@ _globals['_SINT64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\013B\006\030\200\004(\200\002\320\001\001' _globals['_SINT64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_SINT64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_SINT64EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_SINT64EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\004B\002@\000' _globals['_FIXED32CONST'].fields_by_name['val']._loaded_options = None _globals['_FIXED32CONST'].fields_by_name['val']._serialized_options = b'\272H\007J\005\r\001\000\000\000' _globals['_FIXED32IN'].fields_by_name['val']._loaded_options = None - _globals['_FIXED32IN'].fields_by_name['val']._serialized_options = b'\272H\014J\n2\010\002\000\000\000\003\000\000\000' + _globals['_FIXED32IN'].fields_by_name['val']._serialized_options = b'\272H\014J\n5\002\000\000\0005\003\000\000\000' _globals['_FIXED32NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_FIXED32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\010J\006:\004\000\000\000\000' + _globals['_FIXED32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\007J\005=\000\000\000\000' _globals['_FIXED32LT'].fields_by_name['val']._loaded_options = None _globals['_FIXED32LT'].fields_by_name['val']._serialized_options = b'\272H\007J\005\025\005\000\000\000' _globals['_FIXED32LTE'].fields_by_name['val']._loaded_options = None @@ -308,12 +328,14 @@ _globals['_FIXED32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\017J\n\035\000\001\000\000-\200\000\000\000\320\001\001' _globals['_FIXED32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_FIXED32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_FIXED32EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_FIXED32EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\007J\005E\000\000\000\000' _globals['_FIXED64CONST'].fields_by_name['val']._loaded_options = None _globals['_FIXED64CONST'].fields_by_name['val']._serialized_options = b'\272H\013R\t\t\001\000\000\000\000\000\000\000' _globals['_FIXED64IN'].fields_by_name['val']._loaded_options = None - _globals['_FIXED64IN'].fields_by_name['val']._serialized_options = b'\272H\024R\0222\020\002\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000' + _globals['_FIXED64IN'].fields_by_name['val']._serialized_options = b'\272H\024R\0221\002\000\000\000\000\000\000\0001\003\000\000\000\000\000\000\000' _globals['_FIXED64NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_FIXED64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\014R\n:\010\000\000\000\000\000\000\000\000' + _globals['_FIXED64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\013R\t9\000\000\000\000\000\000\000\000' _globals['_FIXED64LT'].fields_by_name['val']._loaded_options = None _globals['_FIXED64LT'].fields_by_name['val']._serialized_options = b'\272H\013R\t\021\005\000\000\000\000\000\000\000' _globals['_FIXED64LTE'].fields_by_name['val']._loaded_options = None @@ -334,12 +356,14 @@ _globals['_FIXED64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\027R\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\320\001\001' _globals['_FIXED64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_FIXED64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_FIXED64EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_FIXED64EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\013R\tA\000\000\000\000\000\000\000\000' _globals['_SFIXED32CONST'].fields_by_name['val']._loaded_options = None _globals['_SFIXED32CONST'].fields_by_name['val']._serialized_options = b'\272H\007Z\005\r\001\000\000\000' _globals['_SFIXED32IN'].fields_by_name['val']._loaded_options = None - _globals['_SFIXED32IN'].fields_by_name['val']._serialized_options = b'\272H\014Z\n2\010\002\000\000\000\003\000\000\000' + _globals['_SFIXED32IN'].fields_by_name['val']._serialized_options = b'\272H\014Z\n5\002\000\000\0005\003\000\000\000' _globals['_SFIXED32NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_SFIXED32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\010Z\006:\004\000\000\000\000' + _globals['_SFIXED32NOTIN'].fields_by_name['val']._serialized_options = b'\272H\007Z\005=\000\000\000\000' _globals['_SFIXED32LT'].fields_by_name['val']._loaded_options = None _globals['_SFIXED32LT'].fields_by_name['val']._serialized_options = b'\272H\007Z\005\025\000\000\000\000' _globals['_SFIXED32LTE'].fields_by_name['val']._loaded_options = None @@ -360,12 +384,14 @@ _globals['_SFIXED32IGNORE'].fields_by_name['val']._serialized_options = b'\272H\017Z\n\035\000\001\000\000-\200\000\000\000\320\001\001' _globals['_SFIXED32INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_SFIXED32INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_SFIXED32EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_SFIXED32EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\007Z\005E\000\000\000\000' _globals['_SFIXED64CONST'].fields_by_name['val']._loaded_options = None _globals['_SFIXED64CONST'].fields_by_name['val']._serialized_options = b'\272H\013b\t\t\001\000\000\000\000\000\000\000' _globals['_SFIXED64IN'].fields_by_name['val']._loaded_options = None - _globals['_SFIXED64IN'].fields_by_name['val']._serialized_options = b'\272H\024b\0222\020\002\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000' + _globals['_SFIXED64IN'].fields_by_name['val']._serialized_options = b'\272H\024b\0221\002\000\000\000\000\000\000\0001\003\000\000\000\000\000\000\000' _globals['_SFIXED64NOTIN'].fields_by_name['val']._loaded_options = None - _globals['_SFIXED64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\014b\n:\010\000\000\000\000\000\000\000\000' + _globals['_SFIXED64NOTIN'].fields_by_name['val']._serialized_options = b'\272H\013b\t9\000\000\000\000\000\000\000\000' _globals['_SFIXED64LT'].fields_by_name['val']._loaded_options = None _globals['_SFIXED64LT'].fields_by_name['val']._serialized_options = b'\272H\013b\t\021\000\000\000\000\000\000\000\000' _globals['_SFIXED64LTE'].fields_by_name['val']._loaded_options = None @@ -386,6 +412,8 @@ _globals['_SFIXED64IGNORE'].fields_by_name['val']._serialized_options = b'\272H\027b\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\320\001\001' _globals['_SFIXED64INCORRECTTYPE'].fields_by_name['val']._loaded_options = None _globals['_SFIXED64INCORRECTTYPE'].fields_by_name['val']._serialized_options = b'\272H\007\n\005%\000\000\000\000' + _globals['_SFIXED64EXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_SFIXED64EXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\013b\tA\000\000\000\000\000\000\000\000' _globals['_INT64LTEOPTIONAL'].fields_by_name['val']._loaded_options = None _globals['_INT64LTEOPTIONAL'].fields_by_name['val']._serialized_options = b'\272H\004\"\002\030@' _globals['_FLOATNONE']._serialized_start=109 @@ -395,341 +423,369 @@ _globals['_FLOATIN']._serialized_start=184 _globals['_FLOATIN']._serialized_end=228 _globals['_FLOATNOTIN']._serialized_start=230 - _globals['_FLOATNOTIN']._serialized_end=273 - _globals['_FLOATLT']._serialized_start=275 - _globals['_FLOATLT']._serialized_end=314 - _globals['_FLOATLTE']._serialized_start=316 - _globals['_FLOATLTE']._serialized_end=356 - _globals['_FLOATGT']._serialized_start=358 - _globals['_FLOATGT']._serialized_end=397 - _globals['_FLOATGTE']._serialized_start=399 - _globals['_FLOATGTE']._serialized_end=439 - _globals['_FLOATGTLT']._serialized_start=441 - _globals['_FLOATGTLT']._serialized_end=487 - _globals['_FLOATEXLTGT']._serialized_start=489 - _globals['_FLOATEXLTGT']._serialized_end=537 - _globals['_FLOATGTELTE']._serialized_start=539 - _globals['_FLOATGTELTE']._serialized_end=587 - _globals['_FLOATEXGTELTE']._serialized_start=589 - _globals['_FLOATEXGTELTE']._serialized_end=639 - _globals['_FLOATFINITE']._serialized_start=641 - _globals['_FLOATFINITE']._serialized_end=681 - _globals['_FLOATIGNORE']._serialized_start=683 - _globals['_FLOATIGNORE']._serialized_end=734 - _globals['_FLOATINCORRECTTYPE']._serialized_start=736 - _globals['_FLOATINCORRECTTYPE']._serialized_end=790 - _globals['_DOUBLENONE']._serialized_start=792 - _globals['_DOUBLENONE']._serialized_end=822 - _globals['_DOUBLECONST']._serialized_start=824 - _globals['_DOUBLECONST']._serialized_end=871 - _globals['_DOUBLEIN']._serialized_start=873 - _globals['_DOUBLEIN']._serialized_end=926 - _globals['_DOUBLENOTIN']._serialized_start=928 - _globals['_DOUBLENOTIN']._serialized_end=976 - _globals['_DOUBLELT']._serialized_start=978 - _globals['_DOUBLELT']._serialized_end=1022 - _globals['_DOUBLELTE']._serialized_start=1024 - _globals['_DOUBLELTE']._serialized_end=1069 - _globals['_DOUBLEGT']._serialized_start=1071 - _globals['_DOUBLEGT']._serialized_end=1115 - _globals['_DOUBLEGTE']._serialized_start=1117 - _globals['_DOUBLEGTE']._serialized_end=1162 - _globals['_DOUBLEGTLT']._serialized_start=1164 - _globals['_DOUBLEGTLT']._serialized_end=1219 - _globals['_DOUBLEEXLTGT']._serialized_start=1221 - _globals['_DOUBLEEXLTGT']._serialized_end=1278 - _globals['_DOUBLEGTELTE']._serialized_start=1280 - _globals['_DOUBLEGTELTE']._serialized_end=1337 - _globals['_DOUBLEEXGTELTE']._serialized_start=1339 - _globals['_DOUBLEEXGTELTE']._serialized_end=1398 - _globals['_DOUBLEFINITE']._serialized_start=1400 - _globals['_DOUBLEFINITE']._serialized_end=1441 - _globals['_DOUBLEIGNORE']._serialized_start=1443 - _globals['_DOUBLEIGNORE']._serialized_end=1503 - _globals['_DOUBLEINCORRECTTYPE']._serialized_start=1505 - _globals['_DOUBLEINCORRECTTYPE']._serialized_end=1556 - _globals['_INT32NONE']._serialized_start=1558 - _globals['_INT32NONE']._serialized_end=1587 - _globals['_INT32CONST']._serialized_start=1589 - _globals['_INT32CONST']._serialized_end=1628 - _globals['_INT32IN']._serialized_start=1630 - _globals['_INT32IN']._serialized_end=1668 - _globals['_INT32NOTIN']._serialized_start=1670 - _globals['_INT32NOTIN']._serialized_end=1710 - _globals['_INT32LT']._serialized_start=1712 - _globals['_INT32LT']._serialized_end=1748 - _globals['_INT32LTE']._serialized_start=1750 - _globals['_INT32LTE']._serialized_end=1787 - _globals['_INT32GT']._serialized_start=1789 - _globals['_INT32GT']._serialized_end=1825 - _globals['_INT32GTE']._serialized_start=1827 - _globals['_INT32GTE']._serialized_end=1864 - _globals['_INT32GTLT']._serialized_start=1866 - _globals['_INT32GTLT']._serialized_end=1906 - _globals['_INT32EXLTGT']._serialized_start=1908 - _globals['_INT32EXLTGT']._serialized_end=1950 - _globals['_INT32GTELTE']._serialized_start=1952 - _globals['_INT32GTELTE']._serialized_end=1996 - _globals['_INT32EXGTELTE']._serialized_start=1998 - _globals['_INT32EXGTELTE']._serialized_end=2044 - _globals['_INT32IGNORE']._serialized_start=2046 - _globals['_INT32IGNORE']._serialized_end=2093 - _globals['_INT32INCORRECTTYPE']._serialized_start=2095 - _globals['_INT32INCORRECTTYPE']._serialized_end=2145 - _globals['_INT64NONE']._serialized_start=2147 - _globals['_INT64NONE']._serialized_end=2176 - _globals['_INT64CONST']._serialized_start=2178 - _globals['_INT64CONST']._serialized_end=2217 - _globals['_INT64IN']._serialized_start=2219 - _globals['_INT64IN']._serialized_end=2257 - _globals['_INT64NOTIN']._serialized_start=2259 - _globals['_INT64NOTIN']._serialized_end=2299 - _globals['_INT64LT']._serialized_start=2301 - _globals['_INT64LT']._serialized_end=2337 - _globals['_INT64LTE']._serialized_start=2339 - _globals['_INT64LTE']._serialized_end=2376 - _globals['_INT64GT']._serialized_start=2378 - _globals['_INT64GT']._serialized_end=2414 - _globals['_INT64GTE']._serialized_start=2416 - _globals['_INT64GTE']._serialized_end=2453 - _globals['_INT64GTLT']._serialized_start=2455 - _globals['_INT64GTLT']._serialized_end=2495 - _globals['_INT64EXLTGT']._serialized_start=2497 - _globals['_INT64EXLTGT']._serialized_end=2539 - _globals['_INT64GTELTE']._serialized_start=2541 - _globals['_INT64GTELTE']._serialized_end=2585 - _globals['_INT64EXGTELTE']._serialized_start=2587 - _globals['_INT64EXGTELTE']._serialized_end=2633 - _globals['_INT64IGNORE']._serialized_start=2635 - _globals['_INT64IGNORE']._serialized_end=2682 - _globals['_INT64BIGCONSTRAINTS']._serialized_start=2685 - _globals['_INT64BIGCONSTRAINTS']._serialized_end=3209 - _globals['_INT64INCORRECTTYPE']._serialized_start=3211 - _globals['_INT64INCORRECTTYPE']._serialized_end=3261 - _globals['_UINT32NONE']._serialized_start=3263 - _globals['_UINT32NONE']._serialized_end=3293 - _globals['_UINT32CONST']._serialized_start=3295 - _globals['_UINT32CONST']._serialized_end=3335 - _globals['_UINT32IN']._serialized_start=3337 - _globals['_UINT32IN']._serialized_end=3376 - _globals['_UINT32NOTIN']._serialized_start=3378 - _globals['_UINT32NOTIN']._serialized_end=3419 - _globals['_UINT32LT']._serialized_start=3421 - _globals['_UINT32LT']._serialized_end=3458 - _globals['_UINT32LTE']._serialized_start=3460 - _globals['_UINT32LTE']._serialized_end=3498 - _globals['_UINT32GT']._serialized_start=3500 - _globals['_UINT32GT']._serialized_end=3537 - _globals['_UINT32GTE']._serialized_start=3539 - _globals['_UINT32GTE']._serialized_end=3577 - _globals['_UINT32GTLT']._serialized_start=3579 - _globals['_UINT32GTLT']._serialized_end=3620 - _globals['_UINT32EXLTGT']._serialized_start=3622 - _globals['_UINT32EXLTGT']._serialized_end=3665 - _globals['_UINT32GTELTE']._serialized_start=3667 - _globals['_UINT32GTELTE']._serialized_end=3712 - _globals['_UINT32EXGTELTE']._serialized_start=3714 - _globals['_UINT32EXGTELTE']._serialized_end=3761 - _globals['_UINT32IGNORE']._serialized_start=3763 - _globals['_UINT32IGNORE']._serialized_end=3811 - _globals['_UINT32INCORRECTTYPE']._serialized_start=3813 - _globals['_UINT32INCORRECTTYPE']._serialized_end=3864 - _globals['_UINT64NONE']._serialized_start=3866 - _globals['_UINT64NONE']._serialized_end=3896 - _globals['_UINT64CONST']._serialized_start=3898 - _globals['_UINT64CONST']._serialized_end=3938 - _globals['_UINT64IN']._serialized_start=3940 - _globals['_UINT64IN']._serialized_end=3979 - _globals['_UINT64NOTIN']._serialized_start=3981 - _globals['_UINT64NOTIN']._serialized_end=4022 - _globals['_UINT64LT']._serialized_start=4024 - _globals['_UINT64LT']._serialized_end=4061 - _globals['_UINT64LTE']._serialized_start=4063 - _globals['_UINT64LTE']._serialized_end=4101 - _globals['_UINT64GT']._serialized_start=4103 - _globals['_UINT64GT']._serialized_end=4140 - _globals['_UINT64GTE']._serialized_start=4142 - _globals['_UINT64GTE']._serialized_end=4180 - _globals['_UINT64GTLT']._serialized_start=4182 - _globals['_UINT64GTLT']._serialized_end=4223 - _globals['_UINT64EXLTGT']._serialized_start=4225 - _globals['_UINT64EXLTGT']._serialized_end=4268 - _globals['_UINT64GTELTE']._serialized_start=4270 - _globals['_UINT64GTELTE']._serialized_end=4315 - _globals['_UINT64EXGTELTE']._serialized_start=4317 - _globals['_UINT64EXGTELTE']._serialized_end=4364 - _globals['_UINT64IGNORE']._serialized_start=4366 - _globals['_UINT64IGNORE']._serialized_end=4414 - _globals['_UINT64INCORRECTTYPE']._serialized_start=4416 - _globals['_UINT64INCORRECTTYPE']._serialized_end=4467 - _globals['_SINT32NONE']._serialized_start=4469 - _globals['_SINT32NONE']._serialized_end=4499 - _globals['_SINT32CONST']._serialized_start=4501 - _globals['_SINT32CONST']._serialized_end=4541 - _globals['_SINT32IN']._serialized_start=4543 - _globals['_SINT32IN']._serialized_end=4582 - _globals['_SINT32NOTIN']._serialized_start=4584 - _globals['_SINT32NOTIN']._serialized_end=4625 - _globals['_SINT32LT']._serialized_start=4627 - _globals['_SINT32LT']._serialized_end=4664 - _globals['_SINT32LTE']._serialized_start=4666 - _globals['_SINT32LTE']._serialized_end=4705 - _globals['_SINT32GT']._serialized_start=4707 - _globals['_SINT32GT']._serialized_end=4744 - _globals['_SINT32GTE']._serialized_start=4746 - _globals['_SINT32GTE']._serialized_end=4784 - _globals['_SINT32GTLT']._serialized_start=4786 - _globals['_SINT32GTLT']._serialized_end=4827 - _globals['_SINT32EXLTGT']._serialized_start=4829 - _globals['_SINT32EXLTGT']._serialized_end=4872 - _globals['_SINT32GTELTE']._serialized_start=4874 - _globals['_SINT32GTELTE']._serialized_end=4919 - _globals['_SINT32EXGTELTE']._serialized_start=4921 - _globals['_SINT32EXGTELTE']._serialized_end=4968 - _globals['_SINT32IGNORE']._serialized_start=4970 - _globals['_SINT32IGNORE']._serialized_end=5018 - _globals['_SINT32INCORRECTTYPE']._serialized_start=5020 - _globals['_SINT32INCORRECTTYPE']._serialized_end=5071 - _globals['_SINT64NONE']._serialized_start=5073 - _globals['_SINT64NONE']._serialized_end=5103 - _globals['_SINT64CONST']._serialized_start=5105 - _globals['_SINT64CONST']._serialized_end=5145 - _globals['_SINT64IN']._serialized_start=5147 - _globals['_SINT64IN']._serialized_end=5186 - _globals['_SINT64NOTIN']._serialized_start=5188 - _globals['_SINT64NOTIN']._serialized_end=5229 - _globals['_SINT64LT']._serialized_start=5231 - _globals['_SINT64LT']._serialized_end=5268 - _globals['_SINT64LTE']._serialized_start=5270 - _globals['_SINT64LTE']._serialized_end=5309 - _globals['_SINT64GT']._serialized_start=5311 - _globals['_SINT64GT']._serialized_end=5348 - _globals['_SINT64GTE']._serialized_start=5350 - _globals['_SINT64GTE']._serialized_end=5388 - _globals['_SINT64GTLT']._serialized_start=5390 - _globals['_SINT64GTLT']._serialized_end=5431 - _globals['_SINT64EXLTGT']._serialized_start=5433 - _globals['_SINT64EXLTGT']._serialized_end=5476 - _globals['_SINT64GTELTE']._serialized_start=5478 - _globals['_SINT64GTELTE']._serialized_end=5523 - _globals['_SINT64EXGTELTE']._serialized_start=5525 - _globals['_SINT64EXGTELTE']._serialized_end=5572 - _globals['_SINT64IGNORE']._serialized_start=5574 - _globals['_SINT64IGNORE']._serialized_end=5622 - _globals['_SINT64INCORRECTTYPE']._serialized_start=5624 - _globals['_SINT64INCORRECTTYPE']._serialized_end=5675 - _globals['_FIXED32NONE']._serialized_start=5677 - _globals['_FIXED32NONE']._serialized_end=5708 - _globals['_FIXED32CONST']._serialized_start=5710 - _globals['_FIXED32CONST']._serialized_end=5754 - _globals['_FIXED32IN']._serialized_start=5756 - _globals['_FIXED32IN']._serialized_end=5802 - _globals['_FIXED32NOTIN']._serialized_start=5804 - _globals['_FIXED32NOTIN']._serialized_end=5849 - _globals['_FIXED32LT']._serialized_start=5851 - _globals['_FIXED32LT']._serialized_end=5892 - _globals['_FIXED32LTE']._serialized_start=5894 - _globals['_FIXED32LTE']._serialized_end=5936 - _globals['_FIXED32GT']._serialized_start=5938 - _globals['_FIXED32GT']._serialized_end=5979 - _globals['_FIXED32GTE']._serialized_start=5981 - _globals['_FIXED32GTE']._serialized_end=6023 - _globals['_FIXED32GTLT']._serialized_start=6025 - _globals['_FIXED32GTLT']._serialized_end=6073 - _globals['_FIXED32EXLTGT']._serialized_start=6075 - _globals['_FIXED32EXLTGT']._serialized_end=6125 - _globals['_FIXED32GTELTE']._serialized_start=6127 - _globals['_FIXED32GTELTE']._serialized_end=6177 - _globals['_FIXED32EXGTELTE']._serialized_start=6179 - _globals['_FIXED32EXGTELTE']._serialized_end=6231 - _globals['_FIXED32IGNORE']._serialized_start=6233 - _globals['_FIXED32IGNORE']._serialized_end=6286 - _globals['_FIXED32INCORRECTTYPE']._serialized_start=6288 - _globals['_FIXED32INCORRECTTYPE']._serialized_end=6340 - _globals['_FIXED64NONE']._serialized_start=6342 - _globals['_FIXED64NONE']._serialized_end=6373 - _globals['_FIXED64CONST']._serialized_start=6375 - _globals['_FIXED64CONST']._serialized_end=6423 - _globals['_FIXED64IN']._serialized_start=6425 - _globals['_FIXED64IN']._serialized_end=6479 - _globals['_FIXED64NOTIN']._serialized_start=6481 - _globals['_FIXED64NOTIN']._serialized_end=6530 - _globals['_FIXED64LT']._serialized_start=6532 - _globals['_FIXED64LT']._serialized_end=6577 - _globals['_FIXED64LTE']._serialized_start=6579 - _globals['_FIXED64LTE']._serialized_end=6625 - _globals['_FIXED64GT']._serialized_start=6627 - _globals['_FIXED64GT']._serialized_end=6672 - _globals['_FIXED64GTE']._serialized_start=6674 - _globals['_FIXED64GTE']._serialized_end=6720 - _globals['_FIXED64GTLT']._serialized_start=6722 - _globals['_FIXED64GTLT']._serialized_end=6778 - _globals['_FIXED64EXLTGT']._serialized_start=6780 - _globals['_FIXED64EXLTGT']._serialized_end=6838 - _globals['_FIXED64GTELTE']._serialized_start=6840 - _globals['_FIXED64GTELTE']._serialized_end=6898 - _globals['_FIXED64EXGTELTE']._serialized_start=6900 - _globals['_FIXED64EXGTELTE']._serialized_end=6960 - _globals['_FIXED64IGNORE']._serialized_start=6962 - _globals['_FIXED64IGNORE']._serialized_end=7023 - _globals['_FIXED64INCORRECTTYPE']._serialized_start=7025 - _globals['_FIXED64INCORRECTTYPE']._serialized_end=7077 - _globals['_SFIXED32NONE']._serialized_start=7079 - _globals['_SFIXED32NONE']._serialized_end=7111 - _globals['_SFIXED32CONST']._serialized_start=7113 - _globals['_SFIXED32CONST']._serialized_end=7158 - _globals['_SFIXED32IN']._serialized_start=7160 - _globals['_SFIXED32IN']._serialized_end=7207 - _globals['_SFIXED32NOTIN']._serialized_start=7209 - _globals['_SFIXED32NOTIN']._serialized_end=7255 - _globals['_SFIXED32LT']._serialized_start=7257 - _globals['_SFIXED32LT']._serialized_end=7299 - _globals['_SFIXED32LTE']._serialized_start=7301 - _globals['_SFIXED32LTE']._serialized_end=7344 - _globals['_SFIXED32GT']._serialized_start=7346 - _globals['_SFIXED32GT']._serialized_end=7388 - _globals['_SFIXED32GTE']._serialized_start=7390 - _globals['_SFIXED32GTE']._serialized_end=7433 - _globals['_SFIXED32GTLT']._serialized_start=7435 - _globals['_SFIXED32GTLT']._serialized_end=7484 - _globals['_SFIXED32EXLTGT']._serialized_start=7486 - _globals['_SFIXED32EXLTGT']._serialized_end=7537 - _globals['_SFIXED32GTELTE']._serialized_start=7539 - _globals['_SFIXED32GTELTE']._serialized_end=7590 - _globals['_SFIXED32EXGTELTE']._serialized_start=7592 - _globals['_SFIXED32EXGTELTE']._serialized_end=7645 - _globals['_SFIXED32IGNORE']._serialized_start=7647 - _globals['_SFIXED32IGNORE']._serialized_end=7701 - _globals['_SFIXED32INCORRECTTYPE']._serialized_start=7703 - _globals['_SFIXED32INCORRECTTYPE']._serialized_end=7756 - _globals['_SFIXED64NONE']._serialized_start=7758 - _globals['_SFIXED64NONE']._serialized_end=7790 - _globals['_SFIXED64CONST']._serialized_start=7792 - _globals['_SFIXED64CONST']._serialized_end=7841 - _globals['_SFIXED64IN']._serialized_start=7843 - _globals['_SFIXED64IN']._serialized_end=7898 - _globals['_SFIXED64NOTIN']._serialized_start=7900 - _globals['_SFIXED64NOTIN']._serialized_end=7950 - _globals['_SFIXED64LT']._serialized_start=7952 - _globals['_SFIXED64LT']._serialized_end=7998 - _globals['_SFIXED64LTE']._serialized_start=8000 - _globals['_SFIXED64LTE']._serialized_end=8047 - _globals['_SFIXED64GT']._serialized_start=8049 - _globals['_SFIXED64GT']._serialized_end=8095 - _globals['_SFIXED64GTE']._serialized_start=8097 - _globals['_SFIXED64GTE']._serialized_end=8144 - _globals['_SFIXED64GTLT']._serialized_start=8146 - _globals['_SFIXED64GTLT']._serialized_end=8203 - _globals['_SFIXED64EXLTGT']._serialized_start=8205 - _globals['_SFIXED64EXLTGT']._serialized_end=8264 - _globals['_SFIXED64GTELTE']._serialized_start=8266 - _globals['_SFIXED64GTELTE']._serialized_end=8325 - _globals['_SFIXED64EXGTELTE']._serialized_start=8327 - _globals['_SFIXED64EXGTELTE']._serialized_end=8388 - _globals['_SFIXED64IGNORE']._serialized_start=8390 - _globals['_SFIXED64IGNORE']._serialized_end=8452 - _globals['_SFIXED64INCORRECTTYPE']._serialized_start=8454 - _globals['_SFIXED64INCORRECTTYPE']._serialized_end=8507 - _globals['_INT64LTEOPTIONAL']._serialized_start=8509 - _globals['_INT64LTEOPTIONAL']._serialized_end=8567 + _globals['_FLOATNOTIN']._serialized_end=272 + _globals['_FLOATLT']._serialized_start=274 + _globals['_FLOATLT']._serialized_end=313 + _globals['_FLOATLTE']._serialized_start=315 + _globals['_FLOATLTE']._serialized_end=355 + _globals['_FLOATGT']._serialized_start=357 + _globals['_FLOATGT']._serialized_end=396 + _globals['_FLOATGTE']._serialized_start=398 + _globals['_FLOATGTE']._serialized_end=438 + _globals['_FLOATGTLT']._serialized_start=440 + _globals['_FLOATGTLT']._serialized_end=486 + _globals['_FLOATEXLTGT']._serialized_start=488 + _globals['_FLOATEXLTGT']._serialized_end=536 + _globals['_FLOATGTELTE']._serialized_start=538 + _globals['_FLOATGTELTE']._serialized_end=586 + _globals['_FLOATEXGTELTE']._serialized_start=588 + _globals['_FLOATEXGTELTE']._serialized_end=638 + _globals['_FLOATFINITE']._serialized_start=640 + _globals['_FLOATFINITE']._serialized_end=680 + _globals['_FLOATNOTFINITE']._serialized_start=682 + _globals['_FLOATNOTFINITE']._serialized_end=723 + _globals['_FLOATIGNORE']._serialized_start=725 + _globals['_FLOATIGNORE']._serialized_end=776 + _globals['_FLOATINCORRECTTYPE']._serialized_start=778 + _globals['_FLOATINCORRECTTYPE']._serialized_end=832 + _globals['_FLOATEXAMPLE']._serialized_start=834 + _globals['_FLOATEXAMPLE']._serialized_end=878 + _globals['_DOUBLENONE']._serialized_start=880 + _globals['_DOUBLENONE']._serialized_end=910 + _globals['_DOUBLECONST']._serialized_start=912 + _globals['_DOUBLECONST']._serialized_end=959 + _globals['_DOUBLEIN']._serialized_start=961 + _globals['_DOUBLEIN']._serialized_end=1014 + _globals['_DOUBLENOTIN']._serialized_start=1016 + _globals['_DOUBLENOTIN']._serialized_end=1063 + _globals['_DOUBLELT']._serialized_start=1065 + _globals['_DOUBLELT']._serialized_end=1109 + _globals['_DOUBLELTE']._serialized_start=1111 + _globals['_DOUBLELTE']._serialized_end=1156 + _globals['_DOUBLEGT']._serialized_start=1158 + _globals['_DOUBLEGT']._serialized_end=1202 + _globals['_DOUBLEGTE']._serialized_start=1204 + _globals['_DOUBLEGTE']._serialized_end=1249 + _globals['_DOUBLEGTLT']._serialized_start=1251 + _globals['_DOUBLEGTLT']._serialized_end=1306 + _globals['_DOUBLEEXLTGT']._serialized_start=1308 + _globals['_DOUBLEEXLTGT']._serialized_end=1365 + _globals['_DOUBLEGTELTE']._serialized_start=1367 + _globals['_DOUBLEGTELTE']._serialized_end=1424 + _globals['_DOUBLEEXGTELTE']._serialized_start=1426 + _globals['_DOUBLEEXGTELTE']._serialized_end=1485 + _globals['_DOUBLEFINITE']._serialized_start=1487 + _globals['_DOUBLEFINITE']._serialized_end=1528 + _globals['_DOUBLENOTFINITE']._serialized_start=1530 + _globals['_DOUBLENOTFINITE']._serialized_end=1572 + _globals['_DOUBLEIGNORE']._serialized_start=1574 + _globals['_DOUBLEIGNORE']._serialized_end=1634 + _globals['_DOUBLEINCORRECTTYPE']._serialized_start=1636 + _globals['_DOUBLEINCORRECTTYPE']._serialized_end=1687 + _globals['_DOUBLEEXAMPLE']._serialized_start=1689 + _globals['_DOUBLEEXAMPLE']._serialized_end=1738 + _globals['_INT32NONE']._serialized_start=1740 + _globals['_INT32NONE']._serialized_end=1769 + _globals['_INT32CONST']._serialized_start=1771 + _globals['_INT32CONST']._serialized_end=1810 + _globals['_INT32IN']._serialized_start=1812 + _globals['_INT32IN']._serialized_end=1850 + _globals['_INT32NOTIN']._serialized_start=1852 + _globals['_INT32NOTIN']._serialized_end=1891 + _globals['_INT32LT']._serialized_start=1893 + _globals['_INT32LT']._serialized_end=1929 + _globals['_INT32LTE']._serialized_start=1931 + _globals['_INT32LTE']._serialized_end=1968 + _globals['_INT32GT']._serialized_start=1970 + _globals['_INT32GT']._serialized_end=2006 + _globals['_INT32GTE']._serialized_start=2008 + _globals['_INT32GTE']._serialized_end=2045 + _globals['_INT32GTLT']._serialized_start=2047 + _globals['_INT32GTLT']._serialized_end=2087 + _globals['_INT32EXLTGT']._serialized_start=2089 + _globals['_INT32EXLTGT']._serialized_end=2131 + _globals['_INT32GTELTE']._serialized_start=2133 + _globals['_INT32GTELTE']._serialized_end=2177 + _globals['_INT32EXGTELTE']._serialized_start=2179 + _globals['_INT32EXGTELTE']._serialized_end=2225 + _globals['_INT32IGNORE']._serialized_start=2227 + _globals['_INT32IGNORE']._serialized_end=2274 + _globals['_INT32INCORRECTTYPE']._serialized_start=2276 + _globals['_INT32INCORRECTTYPE']._serialized_end=2326 + _globals['_INT32EXAMPLE']._serialized_start=2328 + _globals['_INT32EXAMPLE']._serialized_end=2369 + _globals['_INT64NONE']._serialized_start=2371 + _globals['_INT64NONE']._serialized_end=2400 + _globals['_INT64CONST']._serialized_start=2402 + _globals['_INT64CONST']._serialized_end=2441 + _globals['_INT64IN']._serialized_start=2443 + _globals['_INT64IN']._serialized_end=2481 + _globals['_INT64NOTIN']._serialized_start=2483 + _globals['_INT64NOTIN']._serialized_end=2522 + _globals['_INT64LT']._serialized_start=2524 + _globals['_INT64LT']._serialized_end=2560 + _globals['_INT64LTE']._serialized_start=2562 + _globals['_INT64LTE']._serialized_end=2599 + _globals['_INT64GT']._serialized_start=2601 + _globals['_INT64GT']._serialized_end=2637 + _globals['_INT64GTE']._serialized_start=2639 + _globals['_INT64GTE']._serialized_end=2676 + _globals['_INT64GTLT']._serialized_start=2678 + _globals['_INT64GTLT']._serialized_end=2718 + _globals['_INT64EXLTGT']._serialized_start=2720 + _globals['_INT64EXLTGT']._serialized_end=2762 + _globals['_INT64GTELTE']._serialized_start=2764 + _globals['_INT64GTELTE']._serialized_end=2808 + _globals['_INT64EXGTELTE']._serialized_start=2810 + _globals['_INT64EXGTELTE']._serialized_end=2856 + _globals['_INT64IGNORE']._serialized_start=2858 + _globals['_INT64IGNORE']._serialized_end=2905 + _globals['_INT64BIGCONSTRAINTS']._serialized_start=2908 + _globals['_INT64BIGCONSTRAINTS']._serialized_end=3432 + _globals['_INT64INCORRECTTYPE']._serialized_start=3434 + _globals['_INT64INCORRECTTYPE']._serialized_end=3484 + _globals['_INT64EXAMPLE']._serialized_start=3486 + _globals['_INT64EXAMPLE']._serialized_end=3527 + _globals['_UINT32NONE']._serialized_start=3529 + _globals['_UINT32NONE']._serialized_end=3559 + _globals['_UINT32CONST']._serialized_start=3561 + _globals['_UINT32CONST']._serialized_end=3601 + _globals['_UINT32IN']._serialized_start=3603 + _globals['_UINT32IN']._serialized_end=3642 + _globals['_UINT32NOTIN']._serialized_start=3644 + _globals['_UINT32NOTIN']._serialized_end=3684 + _globals['_UINT32LT']._serialized_start=3686 + _globals['_UINT32LT']._serialized_end=3723 + _globals['_UINT32LTE']._serialized_start=3725 + _globals['_UINT32LTE']._serialized_end=3763 + _globals['_UINT32GT']._serialized_start=3765 + _globals['_UINT32GT']._serialized_end=3802 + _globals['_UINT32GTE']._serialized_start=3804 + _globals['_UINT32GTE']._serialized_end=3842 + _globals['_UINT32GTLT']._serialized_start=3844 + _globals['_UINT32GTLT']._serialized_end=3885 + _globals['_UINT32EXLTGT']._serialized_start=3887 + _globals['_UINT32EXLTGT']._serialized_end=3930 + _globals['_UINT32GTELTE']._serialized_start=3932 + _globals['_UINT32GTELTE']._serialized_end=3977 + _globals['_UINT32EXGTELTE']._serialized_start=3979 + _globals['_UINT32EXGTELTE']._serialized_end=4026 + _globals['_UINT32IGNORE']._serialized_start=4028 + _globals['_UINT32IGNORE']._serialized_end=4076 + _globals['_UINT32INCORRECTTYPE']._serialized_start=4078 + _globals['_UINT32INCORRECTTYPE']._serialized_end=4129 + _globals['_UINT32EXAMPLE']._serialized_start=4131 + _globals['_UINT32EXAMPLE']._serialized_end=4173 + _globals['_UINT64NONE']._serialized_start=4175 + _globals['_UINT64NONE']._serialized_end=4205 + _globals['_UINT64CONST']._serialized_start=4207 + _globals['_UINT64CONST']._serialized_end=4247 + _globals['_UINT64IN']._serialized_start=4249 + _globals['_UINT64IN']._serialized_end=4288 + _globals['_UINT64NOTIN']._serialized_start=4290 + _globals['_UINT64NOTIN']._serialized_end=4330 + _globals['_UINT64LT']._serialized_start=4332 + _globals['_UINT64LT']._serialized_end=4369 + _globals['_UINT64LTE']._serialized_start=4371 + _globals['_UINT64LTE']._serialized_end=4409 + _globals['_UINT64GT']._serialized_start=4411 + _globals['_UINT64GT']._serialized_end=4448 + _globals['_UINT64GTE']._serialized_start=4450 + _globals['_UINT64GTE']._serialized_end=4488 + _globals['_UINT64GTLT']._serialized_start=4490 + _globals['_UINT64GTLT']._serialized_end=4531 + _globals['_UINT64EXLTGT']._serialized_start=4533 + _globals['_UINT64EXLTGT']._serialized_end=4576 + _globals['_UINT64GTELTE']._serialized_start=4578 + _globals['_UINT64GTELTE']._serialized_end=4623 + _globals['_UINT64EXGTELTE']._serialized_start=4625 + _globals['_UINT64EXGTELTE']._serialized_end=4672 + _globals['_UINT64IGNORE']._serialized_start=4674 + _globals['_UINT64IGNORE']._serialized_end=4722 + _globals['_UINT64INCORRECTTYPE']._serialized_start=4724 + _globals['_UINT64INCORRECTTYPE']._serialized_end=4775 + _globals['_UINT64EXAMPLE']._serialized_start=4777 + _globals['_UINT64EXAMPLE']._serialized_end=4819 + _globals['_SINT32NONE']._serialized_start=4821 + _globals['_SINT32NONE']._serialized_end=4851 + _globals['_SINT32CONST']._serialized_start=4853 + _globals['_SINT32CONST']._serialized_end=4893 + _globals['_SINT32IN']._serialized_start=4895 + _globals['_SINT32IN']._serialized_end=4934 + _globals['_SINT32NOTIN']._serialized_start=4936 + _globals['_SINT32NOTIN']._serialized_end=4976 + _globals['_SINT32LT']._serialized_start=4978 + _globals['_SINT32LT']._serialized_end=5015 + _globals['_SINT32LTE']._serialized_start=5017 + _globals['_SINT32LTE']._serialized_end=5056 + _globals['_SINT32GT']._serialized_start=5058 + _globals['_SINT32GT']._serialized_end=5095 + _globals['_SINT32GTE']._serialized_start=5097 + _globals['_SINT32GTE']._serialized_end=5135 + _globals['_SINT32GTLT']._serialized_start=5137 + _globals['_SINT32GTLT']._serialized_end=5178 + _globals['_SINT32EXLTGT']._serialized_start=5180 + _globals['_SINT32EXLTGT']._serialized_end=5223 + _globals['_SINT32GTELTE']._serialized_start=5225 + _globals['_SINT32GTELTE']._serialized_end=5270 + _globals['_SINT32EXGTELTE']._serialized_start=5272 + _globals['_SINT32EXGTELTE']._serialized_end=5319 + _globals['_SINT32IGNORE']._serialized_start=5321 + _globals['_SINT32IGNORE']._serialized_end=5369 + _globals['_SINT32INCORRECTTYPE']._serialized_start=5371 + _globals['_SINT32INCORRECTTYPE']._serialized_end=5422 + _globals['_SINT32EXAMPLE']._serialized_start=5424 + _globals['_SINT32EXAMPLE']._serialized_end=5466 + _globals['_SINT64NONE']._serialized_start=5468 + _globals['_SINT64NONE']._serialized_end=5498 + _globals['_SINT64CONST']._serialized_start=5500 + _globals['_SINT64CONST']._serialized_end=5540 + _globals['_SINT64IN']._serialized_start=5542 + _globals['_SINT64IN']._serialized_end=5581 + _globals['_SINT64NOTIN']._serialized_start=5583 + _globals['_SINT64NOTIN']._serialized_end=5623 + _globals['_SINT64LT']._serialized_start=5625 + _globals['_SINT64LT']._serialized_end=5662 + _globals['_SINT64LTE']._serialized_start=5664 + _globals['_SINT64LTE']._serialized_end=5703 + _globals['_SINT64GT']._serialized_start=5705 + _globals['_SINT64GT']._serialized_end=5742 + _globals['_SINT64GTE']._serialized_start=5744 + _globals['_SINT64GTE']._serialized_end=5782 + _globals['_SINT64GTLT']._serialized_start=5784 + _globals['_SINT64GTLT']._serialized_end=5825 + _globals['_SINT64EXLTGT']._serialized_start=5827 + _globals['_SINT64EXLTGT']._serialized_end=5870 + _globals['_SINT64GTELTE']._serialized_start=5872 + _globals['_SINT64GTELTE']._serialized_end=5917 + _globals['_SINT64EXGTELTE']._serialized_start=5919 + _globals['_SINT64EXGTELTE']._serialized_end=5966 + _globals['_SINT64IGNORE']._serialized_start=5968 + _globals['_SINT64IGNORE']._serialized_end=6016 + _globals['_SINT64INCORRECTTYPE']._serialized_start=6018 + _globals['_SINT64INCORRECTTYPE']._serialized_end=6069 + _globals['_SINT64EXAMPLE']._serialized_start=6071 + _globals['_SINT64EXAMPLE']._serialized_end=6113 + _globals['_FIXED32NONE']._serialized_start=6115 + _globals['_FIXED32NONE']._serialized_end=6146 + _globals['_FIXED32CONST']._serialized_start=6148 + _globals['_FIXED32CONST']._serialized_end=6192 + _globals['_FIXED32IN']._serialized_start=6194 + _globals['_FIXED32IN']._serialized_end=6240 + _globals['_FIXED32NOTIN']._serialized_start=6242 + _globals['_FIXED32NOTIN']._serialized_end=6286 + _globals['_FIXED32LT']._serialized_start=6288 + _globals['_FIXED32LT']._serialized_end=6329 + _globals['_FIXED32LTE']._serialized_start=6331 + _globals['_FIXED32LTE']._serialized_end=6373 + _globals['_FIXED32GT']._serialized_start=6375 + _globals['_FIXED32GT']._serialized_end=6416 + _globals['_FIXED32GTE']._serialized_start=6418 + _globals['_FIXED32GTE']._serialized_end=6460 + _globals['_FIXED32GTLT']._serialized_start=6462 + _globals['_FIXED32GTLT']._serialized_end=6510 + _globals['_FIXED32EXLTGT']._serialized_start=6512 + _globals['_FIXED32EXLTGT']._serialized_end=6562 + _globals['_FIXED32GTELTE']._serialized_start=6564 + _globals['_FIXED32GTELTE']._serialized_end=6614 + _globals['_FIXED32EXGTELTE']._serialized_start=6616 + _globals['_FIXED32EXGTELTE']._serialized_end=6668 + _globals['_FIXED32IGNORE']._serialized_start=6670 + _globals['_FIXED32IGNORE']._serialized_end=6723 + _globals['_FIXED32INCORRECTTYPE']._serialized_start=6725 + _globals['_FIXED32INCORRECTTYPE']._serialized_end=6777 + _globals['_FIXED32EXAMPLE']._serialized_start=6779 + _globals['_FIXED32EXAMPLE']._serialized_end=6825 + _globals['_FIXED64NONE']._serialized_start=6827 + _globals['_FIXED64NONE']._serialized_end=6858 + _globals['_FIXED64CONST']._serialized_start=6860 + _globals['_FIXED64CONST']._serialized_end=6908 + _globals['_FIXED64IN']._serialized_start=6910 + _globals['_FIXED64IN']._serialized_end=6964 + _globals['_FIXED64NOTIN']._serialized_start=6966 + _globals['_FIXED64NOTIN']._serialized_end=7014 + _globals['_FIXED64LT']._serialized_start=7016 + _globals['_FIXED64LT']._serialized_end=7061 + _globals['_FIXED64LTE']._serialized_start=7063 + _globals['_FIXED64LTE']._serialized_end=7109 + _globals['_FIXED64GT']._serialized_start=7111 + _globals['_FIXED64GT']._serialized_end=7156 + _globals['_FIXED64GTE']._serialized_start=7158 + _globals['_FIXED64GTE']._serialized_end=7204 + _globals['_FIXED64GTLT']._serialized_start=7206 + _globals['_FIXED64GTLT']._serialized_end=7262 + _globals['_FIXED64EXLTGT']._serialized_start=7264 + _globals['_FIXED64EXLTGT']._serialized_end=7322 + _globals['_FIXED64GTELTE']._serialized_start=7324 + _globals['_FIXED64GTELTE']._serialized_end=7382 + _globals['_FIXED64EXGTELTE']._serialized_start=7384 + _globals['_FIXED64EXGTELTE']._serialized_end=7444 + _globals['_FIXED64IGNORE']._serialized_start=7446 + _globals['_FIXED64IGNORE']._serialized_end=7507 + _globals['_FIXED64INCORRECTTYPE']._serialized_start=7509 + _globals['_FIXED64INCORRECTTYPE']._serialized_end=7561 + _globals['_FIXED64EXAMPLE']._serialized_start=7563 + _globals['_FIXED64EXAMPLE']._serialized_end=7613 + _globals['_SFIXED32NONE']._serialized_start=7615 + _globals['_SFIXED32NONE']._serialized_end=7647 + _globals['_SFIXED32CONST']._serialized_start=7649 + _globals['_SFIXED32CONST']._serialized_end=7694 + _globals['_SFIXED32IN']._serialized_start=7696 + _globals['_SFIXED32IN']._serialized_end=7743 + _globals['_SFIXED32NOTIN']._serialized_start=7745 + _globals['_SFIXED32NOTIN']._serialized_end=7790 + _globals['_SFIXED32LT']._serialized_start=7792 + _globals['_SFIXED32LT']._serialized_end=7834 + _globals['_SFIXED32LTE']._serialized_start=7836 + _globals['_SFIXED32LTE']._serialized_end=7879 + _globals['_SFIXED32GT']._serialized_start=7881 + _globals['_SFIXED32GT']._serialized_end=7923 + _globals['_SFIXED32GTE']._serialized_start=7925 + _globals['_SFIXED32GTE']._serialized_end=7968 + _globals['_SFIXED32GTLT']._serialized_start=7970 + _globals['_SFIXED32GTLT']._serialized_end=8019 + _globals['_SFIXED32EXLTGT']._serialized_start=8021 + _globals['_SFIXED32EXLTGT']._serialized_end=8072 + _globals['_SFIXED32GTELTE']._serialized_start=8074 + _globals['_SFIXED32GTELTE']._serialized_end=8125 + _globals['_SFIXED32EXGTELTE']._serialized_start=8127 + _globals['_SFIXED32EXGTELTE']._serialized_end=8180 + _globals['_SFIXED32IGNORE']._serialized_start=8182 + _globals['_SFIXED32IGNORE']._serialized_end=8236 + _globals['_SFIXED32INCORRECTTYPE']._serialized_start=8238 + _globals['_SFIXED32INCORRECTTYPE']._serialized_end=8291 + _globals['_SFIXED32EXAMPLE']._serialized_start=8293 + _globals['_SFIXED32EXAMPLE']._serialized_end=8340 + _globals['_SFIXED64NONE']._serialized_start=8342 + _globals['_SFIXED64NONE']._serialized_end=8374 + _globals['_SFIXED64CONST']._serialized_start=8376 + _globals['_SFIXED64CONST']._serialized_end=8425 + _globals['_SFIXED64IN']._serialized_start=8427 + _globals['_SFIXED64IN']._serialized_end=8482 + _globals['_SFIXED64NOTIN']._serialized_start=8484 + _globals['_SFIXED64NOTIN']._serialized_end=8533 + _globals['_SFIXED64LT']._serialized_start=8535 + _globals['_SFIXED64LT']._serialized_end=8581 + _globals['_SFIXED64LTE']._serialized_start=8583 + _globals['_SFIXED64LTE']._serialized_end=8630 + _globals['_SFIXED64GT']._serialized_start=8632 + _globals['_SFIXED64GT']._serialized_end=8678 + _globals['_SFIXED64GTE']._serialized_start=8680 + _globals['_SFIXED64GTE']._serialized_end=8727 + _globals['_SFIXED64GTLT']._serialized_start=8729 + _globals['_SFIXED64GTLT']._serialized_end=8786 + _globals['_SFIXED64EXLTGT']._serialized_start=8788 + _globals['_SFIXED64EXLTGT']._serialized_end=8847 + _globals['_SFIXED64GTELTE']._serialized_start=8849 + _globals['_SFIXED64GTELTE']._serialized_end=8908 + _globals['_SFIXED64EXGTELTE']._serialized_start=8910 + _globals['_SFIXED64EXGTELTE']._serialized_end=8971 + _globals['_SFIXED64IGNORE']._serialized_start=8973 + _globals['_SFIXED64IGNORE']._serialized_end=9035 + _globals['_SFIXED64INCORRECTTYPE']._serialized_start=9037 + _globals['_SFIXED64INCORRECTTYPE']._serialized_end=9090 + _globals['_SFIXED64EXAMPLE']._serialized_start=9092 + _globals['_SFIXED64EXAMPLE']._serialized_end=9143 + _globals['_INT64LTEOPTIONAL']._serialized_start=9145 + _globals['_INT64LTEOPTIONAL']._serialized_end=9203 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/numbers_pb2.pyi b/gen/buf/validate/conformance/cases/numbers_pb2.pyi index 8241b19..80dd05c 100644 --- a/gen/buf/validate/conformance/cases/numbers_pb2.pyi +++ b/gen/buf/validate/conformance/cases/numbers_pb2.pyi @@ -97,6 +97,12 @@ class FloatFinite(_message.Message): val: float def __init__(self, val: _Optional[float] = ...) -> None: ... +class FloatNotFinite(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + class FloatIgnore(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -109,6 +115,12 @@ class FloatIncorrectType(_message.Message): val: float def __init__(self, val: _Optional[float] = ...) -> None: ... +class FloatExample(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + class DoubleNone(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -187,6 +199,12 @@ class DoubleFinite(_message.Message): val: float def __init__(self, val: _Optional[float] = ...) -> None: ... +class DoubleNotFinite(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + class DoubleIgnore(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -199,6 +217,12 @@ class DoubleIncorrectType(_message.Message): val: float def __init__(self, val: _Optional[float] = ...) -> None: ... +class DoubleExample(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + class Int32None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -283,6 +307,12 @@ class Int32IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class Int32Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class Int64None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -394,6 +424,12 @@ class Int64IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class Int64Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class UInt32None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -478,6 +514,12 @@ class UInt32IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class UInt32Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class UInt64None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -562,6 +604,12 @@ class UInt64IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class UInt64Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class SInt32None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -646,6 +694,12 @@ class SInt32IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class SInt32Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class SInt64None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -730,6 +784,12 @@ class SInt64IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class SInt64Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class Fixed32None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -814,6 +874,12 @@ class Fixed32IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class Fixed32Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class Fixed64None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -898,6 +964,12 @@ class Fixed64IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class Fixed64Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class SFixed32None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -982,6 +1054,12 @@ class SFixed32IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class SFixed32Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class SFixed64None(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -1066,6 +1144,12 @@ class SFixed64IncorrectType(_message.Message): val: int def __init__(self, val: _Optional[int] = ...) -> None: ... +class SFixed64Example(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + class Int64LTEOptional(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] diff --git a/gen/buf/validate/conformance/cases/predefined_rules_proto2_pb2.py b/gen/buf/validate/conformance/cases/predefined_rules_proto2_pb2.py new file mode 100644 index 0000000..cab9662 --- /dev/null +++ b/gen/buf/validate/conformance/cases/predefined_rules_proto2_pb2.py @@ -0,0 +1,181 @@ +# Copyright 2023 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: buf/validate/conformance/cases/predefined_rules_proto2.proto +# Protobuf Python Version: 5.27.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 2, + '', + 'buf/validate/conformance/cases/predefined_rules_proto2.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n 24 ? \'\' : \'a must be greater than 24\'R\x01\x61\x12\xb4\x01\n\x01\x62\x18\x02 \x01(\x0b\x32\x44.buf.validate.conformance.cases.PredefinedAndCustomRuleProto2.NestedB`\xbaH]\xba\x01Z\n*predefined_and_custom_rule_embedded_proto2\x12\x1b\x62.c must be a multiple of 3\x1a\x0fthis.c % 3 == 0R\x01\x62\x1as\n\x06Nested\x12i\n\x01\x63\x18\x01 \x01(\x05\x42[\xbaHX\x1a\x03\xc8H\x01\xba\x01P\n(predefined_and_custom_rule_nested_proto2\x1a$this > 0 ? \'\' : \'c must be positive\'R\x01\x63\"\xa5\x01\n%StandardPredefinedAndCustomRuleProto2\x12|\n\x01\x61\x18\x01 \x01(\x05\x42n\xbaHk\x1a\x05\x10\x1c\xc8H\x01\xba\x01\x61\n1standard_predefined_and_custom_rule_scalar_proto2\x1a,this > 24 ? \'\' : \'a must be greater than 24\'R\x01\x61:\xa9\x01\n\x16\x66loat_abs_range_proto2\x12\x18.buf.validate.FloatRules\x18\x89\t \x01(\x02\x42Y\xc2HV\nT\n\x16\x66loat.abs_range.proto2\x12\x1b\x66loat value is out of range\x1a\x1dthis >= -rule && this <= ruleR\x13\x66loatAbsRangeProto2:\xae\x01\n\x17\x64ouble_abs_range_proto2\x12\x19.buf.validate.DoubleRules\x18\x89\t \x01(\x01\x42[\xc2HX\nV\n\x17\x64ouble.abs_range.proto2\x12\x1c\x64ouble value is out of range\x1a\x1dthis >= -rule && this <= ruleR\x14\x64oubleAbsRangeProto2:\x87\x01\n\x11int32_even_proto2\x12\x18.buf.validate.Int32Rules\x18\x89\t \x01(\x08\x42@\xc2H=\n;\n\x11int32.even.proto2\x12\x17int32 value is not even\x1a\rthis % 2 == 0R\x0fint32EvenProto2:\x87\x01\n\x11int64_even_proto2\x12\x18.buf.validate.Int64Rules\x18\x89\t \x01(\x08\x42@\xc2H=\n;\n\x11int64.even.proto2\x12\x17int64 value is not even\x1a\rthis % 2 == 0R\x0fint64EvenProto2:\x8e\x01\n\x12uint32_even_proto2\x12\x19.buf.validate.UInt32Rules\x18\x89\t \x01(\x08\x42\x44\xc2HA\n?\n\x12uint32.even.proto2\x12\x18uint32 value is not even\x1a\x0fthis % 2u == 0uR\x10uint32EvenProto2:\x8e\x01\n\x12uint64_even_proto2\x12\x19.buf.validate.UInt64Rules\x18\x89\t \x01(\x08\x42\x44\xc2HA\n?\n\x12uint64.even.proto2\x12\x18uint64 value is not even\x1a\x0fthis % 2u == 0uR\x10uint64EvenProto2:\x8c\x01\n\x12sint32_even_proto2\x12\x19.buf.validate.SInt32Rules\x18\x89\t \x01(\x08\x42\x42\xc2H?\n=\n\x12sint32.even.proto2\x12\x18sint32 value is not even\x1a\rthis % 2 == 0R\x10sint32EvenProto2:\x8c\x01\n\x12sint64_even_proto2\x12\x19.buf.validate.SInt64Rules\x18\x89\t \x01(\x08\x42\x42\xc2H?\n=\n\x12sint64.even.proto2\x12\x18sint64 value is not even\x1a\rthis % 2 == 0R\x10sint64EvenProto2:\x93\x01\n\x13\x66ixed32_even_proto2\x12\x1a.buf.validate.Fixed32Rules\x18\x89\t \x01(\x08\x42\x46\xc2HC\nA\n\x13\x66ixed32.even.proto2\x12\x19\x66ixed32 value is not even\x1a\x0fthis % 2u == 0uR\x11\x66ixed32EvenProto2:\x93\x01\n\x13\x66ixed64_even_proto2\x12\x1a.buf.validate.Fixed64Rules\x18\x89\t \x01(\x08\x42\x46\xc2HC\nA\n\x13\x66ixed64.even.proto2\x12\x19\x66ixed64 value is not even\x1a\x0fthis % 2u == 0uR\x11\x66ixed64EvenProto2:\x96\x01\n\x14sfixed32_even_proto2\x12\x1b.buf.validate.SFixed32Rules\x18\x89\t \x01(\x08\x42\x46\xc2HC\nA\n\x14sfixed32.even.proto2\x12\x1asfixed32 value is not even\x1a\rthis % 2 == 0R\x12sfixed32EvenProto2:\x96\x01\n\x14sfixed64_even_proto2\x12\x1b.buf.validate.SFixed64Rules\x18\x89\t \x01(\x08\x42\x46\xc2HC\nA\n\x14sfixed64.even.proto2\x12\x1asfixed64 value is not even\x1a\rthis % 2 == 0R\x12sfixed64EvenProto2:\x86\x01\n\x11\x62ool_false_proto2\x12\x17.buf.validate.BoolRules\x18\x89\t \x01(\x08\x42@\xc2H=\n;\n\x11\x62ool.false.proto2\x12\x17\x62ool value is not false\x1a\rthis == falseR\x0f\x62oolFalseProto2:\xfe\x01\n\x18string_valid_path_proto2\x12\x19.buf.validate.StringRules\x18\x89\t \x01(\x08\x42\xa8\x01\xc2H\xa4\x01\n\xa1\x01\n\x18string.valid_path.proto2\x1a\x84\x01!this.matches(\'^([^/.][^/]?|[^/][^/.]|[^/]{3,})(/([^/.][^/]?|[^/][^/.]|[^/]{3,}))*$\') ? \'not a valid path: `%s`\'.format([this]) : \'\'R\x15stringValidPathProto2:\x82\x02\n\x17\x62ytes_valid_path_proto2\x12\x18.buf.validate.BytesRules\x18\x89\t \x01(\x08\x42\xaf\x01\xc2H\xab\x01\n\xa8\x01\n\x17\x62ytes.valid_path.proto2\x1a\x8c\x01!string(this).matches(\'^([^/.][^/]?|[^/][^/.]|[^/]{3,})(/([^/.][^/]?|[^/][^/.]|[^/]{3,}))*$\') ? \'not a valid path: `%s`\'.format([this]) : \'\'R\x14\x62ytesValidPathProto2:\x92\x01\n\x14\x65num_non_zero_proto2\x12\x17.buf.validate.EnumRules\x18\x89\t \x01(\x08\x42G\xc2HD\nB\n\x14\x65num.non_zero.proto2\x12\x1a\x65num value is not non-zero\x1a\x0eint(this) != 0R\x11\x65numNonZeroProto2:\xcc\x01\n\x1drepeated_at_least_five_proto2\x12\x1b.buf.validate.RepeatedRules\x18\x89\t \x01(\x08\x42l\xc2Hi\ng\n\x1drepeated.at_least_five.proto2\x12-repeated field must have at least five values\x1a\x17uint(this.size()) >= 5uR\x19repeatedAtLeastFiveProto2:\xb9\x01\n\x18\x64uration_too_long_proto2\x12\x1b.buf.validate.DurationRules\x18\x89\t \x01(\x08\x42\x62\xc2H_\n]\n\x18\x64uration.too_long.proto2\x12(duration can\'t be longer than 10 seconds\x1a\x17this <= duration(\'10s\')R\x15\x64urationTooLongProto2:\xc8\x01\n\x19timestamp_in_range_proto2\x12\x1c.buf.validate.TimestampRules\x18\x89\t \x01(\x08\x42n\xc2Hk\ni\n\x1btimestamp.time_range.proto2\x12\x16timestamp out of range\x1a\x32int(this) >= 1049587200 && int(this) <= 1080432000R\x16timestampInRangeProto2') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.conformance.cases.predefined_rules_proto2_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['float_abs_range_proto2']._loaded_options = None + _globals['float_abs_range_proto2']._serialized_options = b'\302HV\nT\n\026float.abs_range.proto2\022\033float value is out of range\032\035this >= -rule && this <= rule' + _globals['double_abs_range_proto2']._loaded_options = None + _globals['double_abs_range_proto2']._serialized_options = b'\302HX\nV\n\027double.abs_range.proto2\022\034double value is out of range\032\035this >= -rule && this <= rule' + _globals['int32_even_proto2']._loaded_options = None + _globals['int32_even_proto2']._serialized_options = b'\302H=\n;\n\021int32.even.proto2\022\027int32 value is not even\032\rthis % 2 == 0' + _globals['int64_even_proto2']._loaded_options = None + _globals['int64_even_proto2']._serialized_options = b'\302H=\n;\n\021int64.even.proto2\022\027int64 value is not even\032\rthis % 2 == 0' + _globals['uint32_even_proto2']._loaded_options = None + _globals['uint32_even_proto2']._serialized_options = b'\302HA\n?\n\022uint32.even.proto2\022\030uint32 value is not even\032\017this % 2u == 0u' + _globals['uint64_even_proto2']._loaded_options = None + _globals['uint64_even_proto2']._serialized_options = b'\302HA\n?\n\022uint64.even.proto2\022\030uint64 value is not even\032\017this % 2u == 0u' + _globals['sint32_even_proto2']._loaded_options = None + _globals['sint32_even_proto2']._serialized_options = b'\302H?\n=\n\022sint32.even.proto2\022\030sint32 value is not even\032\rthis % 2 == 0' + _globals['sint64_even_proto2']._loaded_options = None + _globals['sint64_even_proto2']._serialized_options = b'\302H?\n=\n\022sint64.even.proto2\022\030sint64 value is not even\032\rthis % 2 == 0' + _globals['fixed32_even_proto2']._loaded_options = None + _globals['fixed32_even_proto2']._serialized_options = b'\302HC\nA\n\023fixed32.even.proto2\022\031fixed32 value is not even\032\017this % 2u == 0u' + _globals['fixed64_even_proto2']._loaded_options = None + _globals['fixed64_even_proto2']._serialized_options = b'\302HC\nA\n\023fixed64.even.proto2\022\031fixed64 value is not even\032\017this % 2u == 0u' + _globals['sfixed32_even_proto2']._loaded_options = None + _globals['sfixed32_even_proto2']._serialized_options = b'\302HC\nA\n\024sfixed32.even.proto2\022\032sfixed32 value is not even\032\rthis % 2 == 0' + _globals['sfixed64_even_proto2']._loaded_options = None + _globals['sfixed64_even_proto2']._serialized_options = b'\302HC\nA\n\024sfixed64.even.proto2\022\032sfixed64 value is not even\032\rthis % 2 == 0' + _globals['bool_false_proto2']._loaded_options = None + _globals['bool_false_proto2']._serialized_options = b'\302H=\n;\n\021bool.false.proto2\022\027bool value is not false\032\rthis == false' + _globals['string_valid_path_proto2']._loaded_options = None + _globals['string_valid_path_proto2']._serialized_options = b'\302H\244\001\n\241\001\n\030string.valid_path.proto2\032\204\001!this.matches(\'^([^/.][^/]?|[^/][^/.]|[^/]{3,})(/([^/.][^/]?|[^/][^/.]|[^/]{3,}))*$\') ? \'not a valid path: `%s`\'.format([this]) : \'\'' + _globals['bytes_valid_path_proto2']._loaded_options = None + _globals['bytes_valid_path_proto2']._serialized_options = b'\302H\253\001\n\250\001\n\027bytes.valid_path.proto2\032\214\001!string(this).matches(\'^([^/.][^/]?|[^/][^/.]|[^/]{3,})(/([^/.][^/]?|[^/][^/.]|[^/]{3,}))*$\') ? \'not a valid path: `%s`\'.format([this]) : \'\'' + _globals['enum_non_zero_proto2']._loaded_options = None + _globals['enum_non_zero_proto2']._serialized_options = b'\302HD\nB\n\024enum.non_zero.proto2\022\032enum value is not non-zero\032\016int(this) != 0' + _globals['repeated_at_least_five_proto2']._loaded_options = None + _globals['repeated_at_least_five_proto2']._serialized_options = b'\302Hi\ng\n\035repeated.at_least_five.proto2\022-repeated field must have at least five values\032\027uint(this.size()) >= 5u' + _globals['duration_too_long_proto2']._loaded_options = None + _globals['duration_too_long_proto2']._serialized_options = b'\302H_\n]\n\030duration.too_long.proto2\022(duration can\'t be longer than 10 seconds\032\027this <= duration(\'10s\')' + _globals['timestamp_in_range_proto2']._loaded_options = None + _globals['timestamp_in_range_proto2']._serialized_options = b'\302Hk\ni\n\033timestamp.time_range.proto2\022\026timestamp out of range\0322int(this) >= 1049587200 && int(this) <= 1080432000' + _globals['_PREDEFINEDFLOATRULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFLOATRULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\010\n\006\315H\000\000\200?' + _globals['_PREDEFINEDDOUBLERULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDDOUBLERULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\014\022\n\311H\000\000\000\000\000\000\360?' + _globals['_PREDEFINEDINT32RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDINT32RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005\032\003\310H\001' + _globals['_PREDEFINEDINT64RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDINT64RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005\"\003\310H\001' + _globals['_PREDEFINEDUINT32RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDUINT32RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005*\003\310H\001' + _globals['_PREDEFINEDUINT64RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDUINT64RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\0052\003\310H\001' + _globals['_PREDEFINEDSINT32RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSINT32RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005:\003\310H\001' + _globals['_PREDEFINEDSINT64RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSINT64RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005B\003\310H\001' + _globals['_PREDEFINEDFIXED32RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFIXED32RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005J\003\310H\001' + _globals['_PREDEFINEDFIXED64RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFIXED64RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005R\003\310H\001' + _globals['_PREDEFINEDSFIXED32RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSFIXED32RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005Z\003\310H\001' + _globals['_PREDEFINEDSFIXED64RULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSFIXED64RULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005b\003\310H\001' + _globals['_PREDEFINEDBOOLRULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDBOOLRULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005j\003\310H\001' + _globals['_PREDEFINEDSTRINGRULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSTRINGRULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005r\003\310H\001' + _globals['_PREDEFINEDBYTESRULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDBYTESRULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\005z\003\310H\001' + _globals['_PREDEFINEDENUMRULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDENUMRULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\006\202\001\003\310H\001' + _globals['_PREDEFINEDREPEATEDRULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDREPEATEDRULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\006\222\001\003\310H\001' + _globals['_PREDEFINEDDURATIONRULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDDURATIONRULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\006\252\001\003\310H\001' + _globals['_PREDEFINEDTIMESTAMPRULEPROTO2'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDTIMESTAMPRULEPROTO2'].fields_by_name['val']._serialized_options = b'\272H\006\262\001\003\310H\001' + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2_NESTED'].fields_by_name['c']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2_NESTED'].fields_by_name['c']._serialized_options = b'\272HX\032\003\310H\001\272\001P\n(predefined_and_custom_rule_nested_proto2\032$this > 0 ? \'\' : \'c must be positive\'' + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2'].fields_by_name['a']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2'].fields_by_name['a']._serialized_options = b'\272H`\032\003\310H\001\272\001X\n(predefined_and_custom_rule_scalar_proto2\032,this > 24 ? \'\' : \'a must be greater than 24\'' + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2'].fields_by_name['b']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2'].fields_by_name['b']._serialized_options = b'\272H]\272\001Z\n*predefined_and_custom_rule_embedded_proto2\022\033b.c must be a multiple of 3\032\017this.c % 3 == 0' + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO2'].fields_by_name['a']._loaded_options = None + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO2'].fields_by_name['a']._serialized_options = b'\272Hk\032\005\020\034\310H\001\272\001a\n1standard_predefined_and_custom_rule_scalar_proto2\032,this > 24 ? \'\' : \'a must be greater than 24\'' + _globals['_PREDEFINEDFLOATRULEPROTO2']._serialized_start=190 + _globals['_PREDEFINEDFLOATRULEPROTO2']._serialized_end=248 + _globals['_PREDEFINEDDOUBLERULEPROTO2']._serialized_start=250 + _globals['_PREDEFINEDDOUBLERULEPROTO2']._serialized_end=313 + _globals['_PREDEFINEDINT32RULEPROTO2']._serialized_start=315 + _globals['_PREDEFINEDINT32RULEPROTO2']._serialized_end=370 + _globals['_PREDEFINEDINT64RULEPROTO2']._serialized_start=372 + _globals['_PREDEFINEDINT64RULEPROTO2']._serialized_end=427 + _globals['_PREDEFINEDUINT32RULEPROTO2']._serialized_start=429 + _globals['_PREDEFINEDUINT32RULEPROTO2']._serialized_end=485 + _globals['_PREDEFINEDUINT64RULEPROTO2']._serialized_start=487 + _globals['_PREDEFINEDUINT64RULEPROTO2']._serialized_end=543 + _globals['_PREDEFINEDSINT32RULEPROTO2']._serialized_start=545 + _globals['_PREDEFINEDSINT32RULEPROTO2']._serialized_end=601 + _globals['_PREDEFINEDSINT64RULEPROTO2']._serialized_start=603 + _globals['_PREDEFINEDSINT64RULEPROTO2']._serialized_end=659 + _globals['_PREDEFINEDFIXED32RULEPROTO2']._serialized_start=661 + _globals['_PREDEFINEDFIXED32RULEPROTO2']._serialized_end=718 + _globals['_PREDEFINEDFIXED64RULEPROTO2']._serialized_start=720 + _globals['_PREDEFINEDFIXED64RULEPROTO2']._serialized_end=777 + _globals['_PREDEFINEDSFIXED32RULEPROTO2']._serialized_start=779 + _globals['_PREDEFINEDSFIXED32RULEPROTO2']._serialized_end=837 + _globals['_PREDEFINEDSFIXED64RULEPROTO2']._serialized_start=839 + _globals['_PREDEFINEDSFIXED64RULEPROTO2']._serialized_end=897 + _globals['_PREDEFINEDBOOLRULEPROTO2']._serialized_start=899 + _globals['_PREDEFINEDBOOLRULEPROTO2']._serialized_end=953 + _globals['_PREDEFINEDSTRINGRULEPROTO2']._serialized_start=955 + _globals['_PREDEFINEDSTRINGRULEPROTO2']._serialized_end=1011 + _globals['_PREDEFINEDBYTESRULEPROTO2']._serialized_start=1013 + _globals['_PREDEFINEDBYTESRULEPROTO2']._serialized_end=1068 + _globals['_PREDEFINEDENUMRULEPROTO2']._serialized_start=1071 + _globals['_PREDEFINEDENUMRULEPROTO2']._serialized_end=1264 + _globals['_PREDEFINEDENUMRULEPROTO2_ENUMPROTO2']._serialized_start=1197 + _globals['_PREDEFINEDENUMRULEPROTO2_ENUMPROTO2']._serialized_end=1264 + _globals['_PREDEFINEDREPEATEDRULEPROTO2']._serialized_start=1266 + _globals['_PREDEFINEDREPEATEDRULEPROTO2']._serialized_end=1325 + _globals['_PREDEFINEDDURATIONRULEPROTO2']._serialized_start=1327 + _globals['_PREDEFINEDDURATIONRULEPROTO2']._serialized_end=1413 + _globals['_PREDEFINEDTIMESTAMPRULEPROTO2']._serialized_start=1415 + _globals['_PREDEFINEDTIMESTAMPRULEPROTO2']._serialized_end=1503 + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2']._serialized_start=1506 + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2']._serialized_end=1952 + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2_NESTED']._serialized_start=1837 + _globals['_PREDEFINEDANDCUSTOMRULEPROTO2_NESTED']._serialized_end=1952 + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO2']._serialized_start=1955 + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO2']._serialized_end=2120 +# @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/predefined_rules_proto2_pb2.pyi b/gen/buf/validate/conformance/cases/predefined_rules_proto2_pb2.pyi new file mode 100644 index 0000000..662a818 --- /dev/null +++ b/gen/buf/validate/conformance/cases/predefined_rules_proto2_pb2.pyi @@ -0,0 +1,201 @@ +# Copyright 2023 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from buf.validate import validate_pb2 as _validate_pb2 +from google.protobuf import duration_pb2 as _duration_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor +FLOAT_ABS_RANGE_PROTO2_FIELD_NUMBER: _ClassVar[int] +float_abs_range_proto2: _descriptor.FieldDescriptor +DOUBLE_ABS_RANGE_PROTO2_FIELD_NUMBER: _ClassVar[int] +double_abs_range_proto2: _descriptor.FieldDescriptor +INT32_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +int32_even_proto2: _descriptor.FieldDescriptor +INT64_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +int64_even_proto2: _descriptor.FieldDescriptor +UINT32_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +uint32_even_proto2: _descriptor.FieldDescriptor +UINT64_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +uint64_even_proto2: _descriptor.FieldDescriptor +SINT32_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +sint32_even_proto2: _descriptor.FieldDescriptor +SINT64_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +sint64_even_proto2: _descriptor.FieldDescriptor +FIXED32_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +fixed32_even_proto2: _descriptor.FieldDescriptor +FIXED64_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +fixed64_even_proto2: _descriptor.FieldDescriptor +SFIXED32_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +sfixed32_even_proto2: _descriptor.FieldDescriptor +SFIXED64_EVEN_PROTO2_FIELD_NUMBER: _ClassVar[int] +sfixed64_even_proto2: _descriptor.FieldDescriptor +BOOL_FALSE_PROTO2_FIELD_NUMBER: _ClassVar[int] +bool_false_proto2: _descriptor.FieldDescriptor +STRING_VALID_PATH_PROTO2_FIELD_NUMBER: _ClassVar[int] +string_valid_path_proto2: _descriptor.FieldDescriptor +BYTES_VALID_PATH_PROTO2_FIELD_NUMBER: _ClassVar[int] +bytes_valid_path_proto2: _descriptor.FieldDescriptor +ENUM_NON_ZERO_PROTO2_FIELD_NUMBER: _ClassVar[int] +enum_non_zero_proto2: _descriptor.FieldDescriptor +REPEATED_AT_LEAST_FIVE_PROTO2_FIELD_NUMBER: _ClassVar[int] +repeated_at_least_five_proto2: _descriptor.FieldDescriptor +DURATION_TOO_LONG_PROTO2_FIELD_NUMBER: _ClassVar[int] +duration_too_long_proto2: _descriptor.FieldDescriptor +TIMESTAMP_IN_RANGE_PROTO2_FIELD_NUMBER: _ClassVar[int] +timestamp_in_range_proto2: _descriptor.FieldDescriptor + +class PredefinedFloatRuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + +class PredefinedDoubleRuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + +class PredefinedInt32RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedInt64RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedUInt32RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedUInt64RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSInt32RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSInt64RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedFixed32RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedFixed64RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSFixed32RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSFixed64RuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedBoolRuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bool + def __init__(self, val: bool = ...) -> None: ... + +class PredefinedStringRuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + +class PredefinedBytesRuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bytes + def __init__(self, val: _Optional[bytes] = ...) -> None: ... + +class PredefinedEnumRuleProto2(_message.Message): + __slots__ = ("val",) + class EnumProto2(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ENUM_PROTO2_ZERO_UNSPECIFIED: _ClassVar[PredefinedEnumRuleProto2.EnumProto2] + ENUM_PROTO2_ONE: _ClassVar[PredefinedEnumRuleProto2.EnumProto2] + ENUM_PROTO2_ZERO_UNSPECIFIED: PredefinedEnumRuleProto2.EnumProto2 + ENUM_PROTO2_ONE: PredefinedEnumRuleProto2.EnumProto2 + VAL_FIELD_NUMBER: _ClassVar[int] + val: PredefinedEnumRuleProto2.EnumProto2 + def __init__(self, val: _Optional[_Union[PredefinedEnumRuleProto2.EnumProto2, str]] = ...) -> None: ... + +class PredefinedRepeatedRuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... + +class PredefinedDurationRuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _duration_pb2.Duration + def __init__(self, val: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + +class PredefinedTimestampRuleProto2(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _timestamp_pb2.Timestamp + def __init__(self, val: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class PredefinedAndCustomRuleProto2(_message.Message): + __slots__ = ("a", "b") + class Nested(_message.Message): + __slots__ = ("c",) + C_FIELD_NUMBER: _ClassVar[int] + c: int + def __init__(self, c: _Optional[int] = ...) -> None: ... + A_FIELD_NUMBER: _ClassVar[int] + B_FIELD_NUMBER: _ClassVar[int] + a: int + b: PredefinedAndCustomRuleProto2.Nested + def __init__(self, a: _Optional[int] = ..., b: _Optional[_Union[PredefinedAndCustomRuleProto2.Nested, _Mapping]] = ...) -> None: ... + +class StandardPredefinedAndCustomRuleProto2(_message.Message): + __slots__ = ("a",) + A_FIELD_NUMBER: _ClassVar[int] + a: int + def __init__(self, a: _Optional[int] = ...) -> None: ... diff --git a/gen/buf/validate/conformance/cases/predefined_rules_proto3_pb2.py b/gen/buf/validate/conformance/cases/predefined_rules_proto3_pb2.py new file mode 100644 index 0000000..1ad6af7 --- /dev/null +++ b/gen/buf/validate/conformance/cases/predefined_rules_proto3_pb2.py @@ -0,0 +1,155 @@ +# Copyright 2023 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: buf/validate/conformance/cases/predefined_rules_proto3.proto +# Protobuf Python Version: 5.27.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 2, + '', + 'buf/validate/conformance/cases/predefined_rules_proto3.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from buf.validate.conformance.cases import predefined_rules_proto2_pb2 as buf_dot_validate_dot_conformance_dot_cases_dot_predefined__rules__proto2__pb2 +from buf.validate.conformance.cases import predefined_rules_proto_editions_pb2 as buf_dot_validate_dot_conformance_dot_cases_dot_predefined__rules__proto__editions__pb2 +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n 24 ? \'\' : \'a must be greater than 24\'R\x01\x61\x12\xb9\x01\n\x01\x62\x18\x02 \x01(\x0b\x32\x44.buf.validate.conformance.cases.PredefinedAndCustomRuleProto3.NestedB`\xbaH]\xba\x01Z\n*predefined_and_custom_rule_embedded_proto3\x12\x1b\x62.c must be a multiple of 3\x1a\x0fthis.c % 3 == 0H\x00R\x01\x62\x88\x01\x01\x1as\n\x06Nested\x12i\n\x01\x63\x18\x01 \x01(\x05\x42[\xbaHX\x1a\x03\xd0H\x01\xba\x01P\n(predefined_and_custom_rule_nested_proto3\x1a$this > 0 ? \'\' : \'c must be positive\'R\x01\x63\x42\x04\n\x02_b\"\xa5\x01\n%StandardPredefinedAndCustomRuleProto3\x12|\n\x01\x61\x18\x01 \x01(\x05\x42n\xbaHk\x1a\x05\x10\x1c\xc8H\x01\xba\x01\x61\n1standard_predefined_and_custom_rule_scalar_proto3\x1a,this > 24 ? \'\' : \'a must be greater than 24\'R\x01\x61\"\xf5\x01\n.PredefinedRulesProto3UnusedImportBugWorkaround\x12^\n\x07\x64ummy_1\x18\x01 \x01(\x0b\x32\x45.buf.validate.conformance.cases.StandardPredefinedAndCustomRuleProto2R\x06\x64ummy1\x12\x63\n\x07\x64ummy_2\x18\x02 \x01(\x0b\x32J.buf.validate.conformance.cases.StandardPredefinedAndCustomRuleEdition2023R\x06\x64ummy2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.conformance.cases.predefined_rules_proto3_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PREDEFINEDFLOATRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFLOATRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\010\n\006\315H\000\000\200?' + _globals['_PREDEFINEDDOUBLERULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDDOUBLERULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\014\022\n\311H\000\000\000\000\000\000\360?' + _globals['_PREDEFINEDINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005\032\003\310H\001' + _globals['_PREDEFINEDINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005\"\003\310H\001' + _globals['_PREDEFINEDUINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDUINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005*\003\310H\001' + _globals['_PREDEFINEDUINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDUINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\0052\003\310H\001' + _globals['_PREDEFINEDSINT32RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSINT32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005:\003\310H\001' + _globals['_PREDEFINEDSINT64RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSINT64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005B\003\310H\001' + _globals['_PREDEFINEDFIXED32RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFIXED32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005J\003\310H\001' + _globals['_PREDEFINEDFIXED64RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFIXED64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005R\003\310H\001' + _globals['_PREDEFINEDSFIXED32RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSFIXED32RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005Z\003\310H\001' + _globals['_PREDEFINEDSFIXED64RULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSFIXED64RULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005b\003\310H\001' + _globals['_PREDEFINEDBOOLRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDBOOLRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005j\003\310H\001' + _globals['_PREDEFINEDSTRINGRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSTRINGRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005r\003\310H\001' + _globals['_PREDEFINEDBYTESRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDBYTESRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\005z\003\310H\001' + _globals['_PREDEFINEDENUMRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDENUMRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\202\001\003\310H\001' + _globals['_PREDEFINEDMAPRULEPROTO3_VALENTRY']._loaded_options = None + _globals['_PREDEFINEDMAPRULEPROTO3_VALENTRY']._serialized_options = b'8\001' + _globals['_PREDEFINEDMAPRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDMAPRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\232\001\003\320H\001' + _globals['_PREDEFINEDREPEATEDRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDREPEATEDRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\222\001\003\310H\001' + _globals['_PREDEFINEDDURATIONRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDDURATIONRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\252\001\003\310H\001' + _globals['_PREDEFINEDTIMESTAMPRULEPROTO3'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDTIMESTAMPRULEPROTO3'].fields_by_name['val']._serialized_options = b'\272H\006\262\001\003\310H\001' + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3_NESTED'].fields_by_name['c']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3_NESTED'].fields_by_name['c']._serialized_options = b'\272HX\032\003\320H\001\272\001P\n(predefined_and_custom_rule_nested_proto3\032$this > 0 ? \'\' : \'c must be positive\'' + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['a']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['a']._serialized_options = b'\272H`\032\003\320H\001\272\001X\n(predefined_and_custom_rule_scalar_proto3\032,this > 24 ? \'\' : \'a must be greater than 24\'' + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['b']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['b']._serialized_options = b'\272H]\272\001Z\n*predefined_and_custom_rule_embedded_proto3\022\033b.c must be a multiple of 3\032\017this.c % 3 == 0' + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['a']._loaded_options = None + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO3'].fields_by_name['a']._serialized_options = b'\272Hk\032\005\020\034\310H\001\272\001a\n1standard_predefined_and_custom_rule_scalar_proto3\032,this > 24 ? \'\' : \'a must be greater than 24\'' + _globals['_PREDEFINEDFLOATRULEPROTO3']._serialized_start=322 + _globals['_PREDEFINEDFLOATRULEPROTO3']._serialized_end=380 + _globals['_PREDEFINEDDOUBLERULEPROTO3']._serialized_start=382 + _globals['_PREDEFINEDDOUBLERULEPROTO3']._serialized_end=445 + _globals['_PREDEFINEDINT32RULEPROTO3']._serialized_start=447 + _globals['_PREDEFINEDINT32RULEPROTO3']._serialized_end=502 + _globals['_PREDEFINEDINT64RULEPROTO3']._serialized_start=504 + _globals['_PREDEFINEDINT64RULEPROTO3']._serialized_end=559 + _globals['_PREDEFINEDUINT32RULEPROTO3']._serialized_start=561 + _globals['_PREDEFINEDUINT32RULEPROTO3']._serialized_end=617 + _globals['_PREDEFINEDUINT64RULEPROTO3']._serialized_start=619 + _globals['_PREDEFINEDUINT64RULEPROTO3']._serialized_end=675 + _globals['_PREDEFINEDSINT32RULEPROTO3']._serialized_start=677 + _globals['_PREDEFINEDSINT32RULEPROTO3']._serialized_end=733 + _globals['_PREDEFINEDSINT64RULEPROTO3']._serialized_start=735 + _globals['_PREDEFINEDSINT64RULEPROTO3']._serialized_end=791 + _globals['_PREDEFINEDFIXED32RULEPROTO3']._serialized_start=793 + _globals['_PREDEFINEDFIXED32RULEPROTO3']._serialized_end=850 + _globals['_PREDEFINEDFIXED64RULEPROTO3']._serialized_start=852 + _globals['_PREDEFINEDFIXED64RULEPROTO3']._serialized_end=909 + _globals['_PREDEFINEDSFIXED32RULEPROTO3']._serialized_start=911 + _globals['_PREDEFINEDSFIXED32RULEPROTO3']._serialized_end=969 + _globals['_PREDEFINEDSFIXED64RULEPROTO3']._serialized_start=971 + _globals['_PREDEFINEDSFIXED64RULEPROTO3']._serialized_end=1029 + _globals['_PREDEFINEDBOOLRULEPROTO3']._serialized_start=1031 + _globals['_PREDEFINEDBOOLRULEPROTO3']._serialized_end=1085 + _globals['_PREDEFINEDSTRINGRULEPROTO3']._serialized_start=1087 + _globals['_PREDEFINEDSTRINGRULEPROTO3']._serialized_end=1143 + _globals['_PREDEFINEDBYTESRULEPROTO3']._serialized_start=1145 + _globals['_PREDEFINEDBYTESRULEPROTO3']._serialized_end=1200 + _globals['_PREDEFINEDENUMRULEPROTO3']._serialized_start=1203 + _globals['_PREDEFINEDENUMRULEPROTO3']._serialized_end=1396 + _globals['_PREDEFINEDENUMRULEPROTO3_ENUMPROTO3']._serialized_start=1329 + _globals['_PREDEFINEDENUMRULEPROTO3_ENUMPROTO3']._serialized_end=1396 + _globals['_PREDEFINEDMAPRULEPROTO3']._serialized_start=1399 + _globals['_PREDEFINEDMAPRULEPROTO3']._serialized_end=1575 + _globals['_PREDEFINEDMAPRULEPROTO3_VALENTRY']._serialized_start=1521 + _globals['_PREDEFINEDMAPRULEPROTO3_VALENTRY']._serialized_end=1575 + _globals['_PREDEFINEDREPEATEDRULEPROTO3']._serialized_start=1577 + _globals['_PREDEFINEDREPEATEDRULEPROTO3']._serialized_end=1636 + _globals['_PREDEFINEDDURATIONRULEPROTO3']._serialized_start=1638 + _globals['_PREDEFINEDDURATIONRULEPROTO3']._serialized_end=1724 + _globals['_PREDEFINEDTIMESTAMPRULEPROTO3']._serialized_start=1726 + _globals['_PREDEFINEDTIMESTAMPRULEPROTO3']._serialized_end=1814 + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3']._serialized_start=1817 + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3']._serialized_end=2274 + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3_NESTED']._serialized_start=2153 + _globals['_PREDEFINEDANDCUSTOMRULEPROTO3_NESTED']._serialized_end=2268 + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO3']._serialized_start=2277 + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEPROTO3']._serialized_end=2442 + _globals['_PREDEFINEDRULESPROTO3UNUSEDIMPORTBUGWORKAROUND']._serialized_start=2445 + _globals['_PREDEFINEDRULESPROTO3UNUSEDIMPORTBUGWORKAROUND']._serialized_end=2690 +# @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/predefined_rules_proto3_pb2.pyi b/gen/buf/validate/conformance/cases/predefined_rules_proto3_pb2.pyi new file mode 100644 index 0000000..cd3031c --- /dev/null +++ b/gen/buf/validate/conformance/cases/predefined_rules_proto3_pb2.pyi @@ -0,0 +1,186 @@ +# Copyright 2023 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from buf.validate.conformance.cases import predefined_rules_proto2_pb2 as _predefined_rules_proto2_pb2 +from buf.validate.conformance.cases import predefined_rules_proto_editions_pb2 as _predefined_rules_proto_editions_pb2 +from buf.validate import validate_pb2 as _validate_pb2 +from google.protobuf import duration_pb2 as _duration_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class PredefinedFloatRuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + +class PredefinedDoubleRuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + +class PredefinedInt32RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedInt64RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedUInt32RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedUInt64RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSInt32RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSInt64RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedFixed32RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedFixed64RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSFixed32RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSFixed64RuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedBoolRuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bool + def __init__(self, val: bool = ...) -> None: ... + +class PredefinedStringRuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + +class PredefinedBytesRuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bytes + def __init__(self, val: _Optional[bytes] = ...) -> None: ... + +class PredefinedEnumRuleProto3(_message.Message): + __slots__ = ("val",) + class EnumProto3(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ENUM_PROTO3_ZERO_UNSPECIFIED: _ClassVar[PredefinedEnumRuleProto3.EnumProto3] + ENUM_PROTO3_ONE: _ClassVar[PredefinedEnumRuleProto3.EnumProto3] + ENUM_PROTO3_ZERO_UNSPECIFIED: PredefinedEnumRuleProto3.EnumProto3 + ENUM_PROTO3_ONE: PredefinedEnumRuleProto3.EnumProto3 + VAL_FIELD_NUMBER: _ClassVar[int] + val: PredefinedEnumRuleProto3.EnumProto3 + def __init__(self, val: _Optional[_Union[PredefinedEnumRuleProto3.EnumProto3, str]] = ...) -> None: ... + +class PredefinedMapRuleProto3(_message.Message): + __slots__ = ("val",) + class ValEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: int + value: int + def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... + VAL_FIELD_NUMBER: _ClassVar[int] + val: _containers.ScalarMap[int, int] + def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... + +class PredefinedRepeatedRuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... + +class PredefinedDurationRuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _duration_pb2.Duration + def __init__(self, val: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + +class PredefinedTimestampRuleProto3(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _timestamp_pb2.Timestamp + def __init__(self, val: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class PredefinedAndCustomRuleProto3(_message.Message): + __slots__ = ("a", "b") + class Nested(_message.Message): + __slots__ = ("c",) + C_FIELD_NUMBER: _ClassVar[int] + c: int + def __init__(self, c: _Optional[int] = ...) -> None: ... + A_FIELD_NUMBER: _ClassVar[int] + B_FIELD_NUMBER: _ClassVar[int] + a: int + b: PredefinedAndCustomRuleProto3.Nested + def __init__(self, a: _Optional[int] = ..., b: _Optional[_Union[PredefinedAndCustomRuleProto3.Nested, _Mapping]] = ...) -> None: ... + +class StandardPredefinedAndCustomRuleProto3(_message.Message): + __slots__ = ("a",) + A_FIELD_NUMBER: _ClassVar[int] + a: int + def __init__(self, a: _Optional[int] = ...) -> None: ... + +class PredefinedRulesProto3UnusedImportBugWorkaround(_message.Message): + __slots__ = ("dummy_1", "dummy_2") + DUMMY_1_FIELD_NUMBER: _ClassVar[int] + DUMMY_2_FIELD_NUMBER: _ClassVar[int] + dummy_1: _predefined_rules_proto2_pb2.StandardPredefinedAndCustomRuleProto2 + dummy_2: _predefined_rules_proto_editions_pb2.StandardPredefinedAndCustomRuleEdition2023 + def __init__(self, dummy_1: _Optional[_Union[_predefined_rules_proto2_pb2.StandardPredefinedAndCustomRuleProto2, _Mapping]] = ..., dummy_2: _Optional[_Union[_predefined_rules_proto_editions_pb2.StandardPredefinedAndCustomRuleEdition2023, _Mapping]] = ...) -> None: ... diff --git a/gen/buf/validate/conformance/cases/predefined_rules_proto_editions_pb2.py b/gen/buf/validate/conformance/cases/predefined_rules_proto_editions_pb2.py new file mode 100644 index 0000000..4c71aa7 --- /dev/null +++ b/gen/buf/validate/conformance/cases/predefined_rules_proto_editions_pb2.py @@ -0,0 +1,191 @@ +# Copyright 2023 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: buf/validate/conformance/cases/predefined_rules_proto_editions.proto +# Protobuf Python Version: 5.27.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 2, + '', + 'buf/validate/conformance/cases/predefined_rules_proto_editions.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nDbuf/validate/conformance/cases/predefined_rules_proto_editions.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"?\n\x1ePredefinedFloatRuleEdition2023\x12\x1d\n\x03val\x18\x01 \x01(\x02\x42\x0b\xbaH\x08\n\x06\xd5H\x00\x00\x80?R\x03val\"D\n\x1fPredefinedDoubleRuleEdition2023\x12!\n\x03val\x18\x01 \x01(\x01\x42\x0f\xbaH\x0c\x12\n\xd1H\x00\x00\x00\x00\x00\x00\xf0?R\x03val\"<\n\x1ePredefinedInt32RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x05\x42\x08\xbaH\x05\x1a\x03\xd0H\x01R\x03val\"<\n\x1ePredefinedInt64RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x03\x42\x08\xbaH\x05\"\x03\xd0H\x01R\x03val\"=\n\x1fPredefinedUInt32RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\rB\x08\xbaH\x05*\x03\xd0H\x01R\x03val\"=\n\x1fPredefinedUInt64RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x04\x42\x08\xbaH\x05\x32\x03\xd0H\x01R\x03val\"=\n\x1fPredefinedSInt32RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x11\x42\x08\xbaH\x05:\x03\xd0H\x01R\x03val\"=\n\x1fPredefinedSInt64RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x12\x42\x08\xbaH\x05\x42\x03\xd0H\x01R\x03val\">\n PredefinedFixed32RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x07\x42\x08\xbaH\x05J\x03\xd0H\x01R\x03val\">\n PredefinedFixed64RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x06\x42\x08\xbaH\x05R\x03\xd0H\x01R\x03val\"?\n!PredefinedSFixed32RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x0f\x42\x08\xbaH\x05Z\x03\xd0H\x01R\x03val\"?\n!PredefinedSFixed64RuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x10\x42\x08\xbaH\x05\x62\x03\xd0H\x01R\x03val\";\n\x1dPredefinedBoolRuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x08\x42\x08\xbaH\x05j\x03\xd0H\x01R\x03val\"=\n\x1fPredefinedStringRuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd0H\x01R\x03val\"<\n\x1ePredefinedBytesRuleEdition2023\x12\x1a\n\x03val\x18\x01 \x01(\x0c\x42\x08\xbaH\x05z\x03\xd0H\x01R\x03val\"\xdf\x01\n\x1dPredefinedEnumRuleEdition2023\x12j\n\x03val\x18\x01 \x01(\x0e\x32M.buf.validate.conformance.cases.PredefinedEnumRuleEdition2023.EnumEdition2023B\t\xbaH\x06\x82\x01\x03\xd0H\x01R\x03val\"R\n\x0f\x45numEdition2023\x12%\n!ENUM_EDITION2023_ZERO_UNSPECIFIED\x10\x00\x12\x18\n\x14\x45NUM_EDITION2023_ONE\x10\x01\"@\n!PredefinedRepeatedRuleEdition2023\x12\x1b\n\x03val\x18\x01 \x03(\x04\x42\t\xbaH\x06\x92\x01\x03\xd0H\x01R\x03val\"\xba\x01\n\x1cPredefinedMapRuleEdition2023\x12\x62\n\x03val\x18\x01 \x03(\x0b\x32\x45.buf.validate.conformance.cases.PredefinedMapRuleEdition2023.ValEntryB\t\xbaH\x06\x9a\x01\x03\xd0H\x01R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x04R\x05value:\x02\x38\x01\"[\n!PredefinedDurationRuleEdition2023\x12\x36\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\t\xbaH\x06\xaa\x01\x03\xd0H\x01R\x03val\"]\n\"PredefinedTimestampRuleEdition2023\x12\x37\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\t\xbaH\x06\xb2\x01\x03\xd0H\x01R\x03val\"\xda\x03\n\"PredefinedAndCustomRuleEdition2023\x12w\n\x01\x61\x18\x01 \x01(\x05\x42i\xbaHf\x1a\x03\xd0H\x01\xba\x01^\n.predefined_and_custom_rule_scalar_edition_2023\x1a,this > 24 ? \'\' : \'a must be greater than 24\'R\x01\x61\x12\xbf\x01\n\x01\x62\x18\x02 \x01(\x0b\x32I.buf.validate.conformance.cases.PredefinedAndCustomRuleEdition2023.NestedBf\xbaHc\xba\x01`\n0predefined_and_custom_rule_embedded_edition_2023\x12\x1b\x62.c must be a multiple of 3\x1a\x0fthis.c % 3 == 0R\x01\x62\x1ay\n\x06Nested\x12o\n\x01\x63\x18\x01 \x01(\x05\x42\x61\xbaH^\x1a\x03\xd0H\x01\xba\x01V\n.predefined_and_custom_rule_nested_edition_2023\x1a$this > 0 ? \'\' : \'c must be positive\'R\x01\x63\"\xb1\x01\n*StandardPredefinedAndCustomRuleEdition2023\x12\x82\x01\n\x01\x61\x18\x01 \x01(\x05\x42t\xbaHq\x1a\x05\x10\x1c\xd0H\x01\xba\x01g\n7standard_predefined_and_custom_rule_scalar_edition_2023\x1a,this > 24 ? \'\' : \'a must be greater than 24\'R\x01\x61:\xba\x01\n\x1c\x66loat_abs_range_edition_2023\x12\x18.buf.validate.FloatRules\x18\x8a\t \x01(\x02\x42_\xc2H\\\nZ\n\x1c\x66loat.abs_range.edition_2023\x12\x1b\x66loat value is out of range\x1a\x1dthis >= -rule && this <= ruleR\x18\x66loatAbsRangeEdition2023:\xbf\x01\n\x1d\x64ouble_abs_range_edition_2023\x12\x19.buf.validate.DoubleRules\x18\x8a\t \x01(\x01\x42\x61\xc2H^\n\\\n\x1d\x64ouble.abs_range.edition_2023\x12\x1c\x64ouble value is out of range\x1a\x1dthis >= -rule && this <= ruleR\x19\x64oubleAbsRangeEdition2023:\x98\x01\n\x17int32_even_edition_2023\x12\x18.buf.validate.Int32Rules\x18\x8a\t \x01(\x08\x42\x46\xc2HC\nA\n\x17int32.even.edition_2023\x12\x17int32 value is not even\x1a\rthis % 2 == 0R\x14int32EvenEdition2023:\x98\x01\n\x17int64_even_edition_2023\x12\x18.buf.validate.Int64Rules\x18\x8a\t \x01(\x08\x42\x46\xc2HC\nA\n\x17int64.even.edition_2023\x12\x17int64 value is not even\x1a\rthis % 2 == 0R\x14int64EvenEdition2023:\x9f\x01\n\x18uint32_even_edition_2023\x12\x19.buf.validate.UInt32Rules\x18\x8a\t \x01(\x08\x42J\xc2HG\nE\n\x18uint32.even.edition_2023\x12\x18uint32 value is not even\x1a\x0fthis % 2u == 0uR\x15uint32EvenEdition2023:\x9f\x01\n\x18uint64_even_edition_2023\x12\x19.buf.validate.UInt64Rules\x18\x8a\t \x01(\x08\x42J\xc2HG\nE\n\x18uint64.even.edition_2023\x12\x18uint64 value is not even\x1a\x0fthis % 2u == 0uR\x15uint64EvenEdition2023:\x9d\x01\n\x18sint32_even_edition_2023\x12\x19.buf.validate.SInt32Rules\x18\x8a\t \x01(\x08\x42H\xc2HE\nC\n\x18sint32.even.edition_2023\x12\x18sint32 value is not even\x1a\rthis % 2 == 0R\x15sint32EvenEdition2023:\x9d\x01\n\x18sint64_even_edition_2023\x12\x19.buf.validate.SInt64Rules\x18\x8a\t \x01(\x08\x42H\xc2HE\nC\n\x18sint64.even.edition_2023\x12\x18sint64 value is not even\x1a\rthis % 2 == 0R\x15sint64EvenEdition2023:\xa4\x01\n\x19\x66ixed32_even_edition_2023\x12\x1a.buf.validate.Fixed32Rules\x18\x8a\t \x01(\x08\x42L\xc2HI\nG\n\x19\x66ixed32.even.edition_2023\x12\x19\x66ixed32 value is not even\x1a\x0fthis % 2u == 0uR\x16\x66ixed32EvenEdition2023:\xa4\x01\n\x19\x66ixed64_even_edition_2023\x12\x1a.buf.validate.Fixed64Rules\x18\x8a\t \x01(\x08\x42L\xc2HI\nG\n\x19\x66ixed64.even.edition_2023\x12\x19\x66ixed64 value is not even\x1a\x0fthis % 2u == 0uR\x16\x66ixed64EvenEdition2023:\xa7\x01\n\x1asfixed32_even_edition_2023\x12\x1b.buf.validate.SFixed32Rules\x18\x8a\t \x01(\x08\x42L\xc2HI\nG\n\x1asfixed32.even.edition_2023\x12\x1asfixed32 value is not even\x1a\rthis % 2 == 0R\x17sfixed32EvenEdition2023:\xa7\x01\n\x1asfixed64_even_edition_2023\x12\x1b.buf.validate.SFixed64Rules\x18\x8a\t \x01(\x08\x42L\xc2HI\nG\n\x1asfixed64.even.edition_2023\x12\x1asfixed64 value is not even\x1a\rthis % 2 == 0R\x17sfixed64EvenEdition2023:\x97\x01\n\x17\x62ool_false_edition_2023\x12\x17.buf.validate.BoolRules\x18\x8a\t \x01(\x08\x42\x46\xc2HC\nA\n\x17\x62ool.false.edition_2023\x12\x17\x62ool value is not false\x1a\rthis == falseR\x14\x62oolFalseEdition2023:\x8f\x02\n\x1estring_valid_path_edition_2023\x12\x19.buf.validate.StringRules\x18\x8a\t \x01(\x08\x42\xae\x01\xc2H\xaa\x01\n\xa7\x01\n\x1estring.valid_path.edition_2023\x1a\x84\x01!this.matches(\'^([^/.][^/]?|[^/][^/.]|[^/]{3,})(/([^/.][^/]?|[^/][^/.]|[^/]{3,}))*$\') ? \'not a valid path: `%s`\'.format([this]) : \'\'R\x1astringValidPathEdition2023:\x93\x02\n\x1d\x62ytes_valid_path_edition_2023\x12\x18.buf.validate.BytesRules\x18\x8a\t \x01(\x08\x42\xb5\x01\xc2H\xb1\x01\n\xae\x01\n\x1d\x62ytes.valid_path.edition_2023\x1a\x8c\x01!string(this).matches(\'^([^/.][^/]?|[^/][^/.]|[^/]{3,})(/([^/.][^/]?|[^/][^/.]|[^/]{3,}))*$\') ? \'not a valid path: `%s`\'.format([this]) : \'\'R\x19\x62ytesValidPathEdition2023:\xa3\x01\n\x1a\x65num_non_zero_edition_2023\x12\x17.buf.validate.EnumRules\x18\x8a\t \x01(\x08\x42M\xc2HJ\nH\n\x1a\x65num.non_zero.edition_2023\x12\x1a\x65num value is not non-zero\x1a\x0eint(this) != 0R\x16\x65numNonZeroEdition2023:\xdd\x01\n#repeated_at_least_five_edition_2023\x12\x1b.buf.validate.RepeatedRules\x18\x8a\t \x01(\x08\x42r\xc2Ho\nm\n#repeated.at_least_five.edition_2023\x12-repeated field must have at least five values\x1a\x17uint(this.size()) >= 5uR\x1erepeatedAtLeastFiveEdition2023:\xbd\x01\n\x1emap_at_least_five_edition_2023\x12\x16.buf.validate.MapRules\x18\x8a\t \x01(\x08\x42\x61\xc2H^\n\\\n\x1emap.at_least_five.edition_2023\x12!map must have at least five pairs\x1a\x17uint(this.size()) >= 5uR\x19mapAtLeastFiveEdition2023:\xca\x01\n\x1e\x64uration_too_long_edition_2023\x12\x1b.buf.validate.DurationRules\x18\x8a\t \x01(\x08\x42h\xc2He\nc\n\x1e\x64uration.too_long.edition_2023\x12(duration can\'t be longer than 10 seconds\x1a\x17this <= duration(\'10s\')R\x1a\x64urationTooLongEdition2023:\xd9\x01\n\x1ftimestamp_in_range_edition_2023\x12\x1c.buf.validate.TimestampRules\x18\x8a\t \x01(\x08\x42t\xc2Hq\no\n!timestamp.time_range.edition_2023\x12\x16timestamp out of range\x1a\x32int(this) >= 1049587200 && int(this) <= 1080432000R\x1btimestampInRangeEdition2023b\x08\x65\x64itionsp\xe8\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.conformance.cases.predefined_rules_proto_editions_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['float_abs_range_edition_2023']._loaded_options = None + _globals['float_abs_range_edition_2023']._serialized_options = b'\302H\\\nZ\n\034float.abs_range.edition_2023\022\033float value is out of range\032\035this >= -rule && this <= rule' + _globals['double_abs_range_edition_2023']._loaded_options = None + _globals['double_abs_range_edition_2023']._serialized_options = b'\302H^\n\\\n\035double.abs_range.edition_2023\022\034double value is out of range\032\035this >= -rule && this <= rule' + _globals['int32_even_edition_2023']._loaded_options = None + _globals['int32_even_edition_2023']._serialized_options = b'\302HC\nA\n\027int32.even.edition_2023\022\027int32 value is not even\032\rthis % 2 == 0' + _globals['int64_even_edition_2023']._loaded_options = None + _globals['int64_even_edition_2023']._serialized_options = b'\302HC\nA\n\027int64.even.edition_2023\022\027int64 value is not even\032\rthis % 2 == 0' + _globals['uint32_even_edition_2023']._loaded_options = None + _globals['uint32_even_edition_2023']._serialized_options = b'\302HG\nE\n\030uint32.even.edition_2023\022\030uint32 value is not even\032\017this % 2u == 0u' + _globals['uint64_even_edition_2023']._loaded_options = None + _globals['uint64_even_edition_2023']._serialized_options = b'\302HG\nE\n\030uint64.even.edition_2023\022\030uint64 value is not even\032\017this % 2u == 0u' + _globals['sint32_even_edition_2023']._loaded_options = None + _globals['sint32_even_edition_2023']._serialized_options = b'\302HE\nC\n\030sint32.even.edition_2023\022\030sint32 value is not even\032\rthis % 2 == 0' + _globals['sint64_even_edition_2023']._loaded_options = None + _globals['sint64_even_edition_2023']._serialized_options = b'\302HE\nC\n\030sint64.even.edition_2023\022\030sint64 value is not even\032\rthis % 2 == 0' + _globals['fixed32_even_edition_2023']._loaded_options = None + _globals['fixed32_even_edition_2023']._serialized_options = b'\302HI\nG\n\031fixed32.even.edition_2023\022\031fixed32 value is not even\032\017this % 2u == 0u' + _globals['fixed64_even_edition_2023']._loaded_options = None + _globals['fixed64_even_edition_2023']._serialized_options = b'\302HI\nG\n\031fixed64.even.edition_2023\022\031fixed64 value is not even\032\017this % 2u == 0u' + _globals['sfixed32_even_edition_2023']._loaded_options = None + _globals['sfixed32_even_edition_2023']._serialized_options = b'\302HI\nG\n\032sfixed32.even.edition_2023\022\032sfixed32 value is not even\032\rthis % 2 == 0' + _globals['sfixed64_even_edition_2023']._loaded_options = None + _globals['sfixed64_even_edition_2023']._serialized_options = b'\302HI\nG\n\032sfixed64.even.edition_2023\022\032sfixed64 value is not even\032\rthis % 2 == 0' + _globals['bool_false_edition_2023']._loaded_options = None + _globals['bool_false_edition_2023']._serialized_options = b'\302HC\nA\n\027bool.false.edition_2023\022\027bool value is not false\032\rthis == false' + _globals['string_valid_path_edition_2023']._loaded_options = None + _globals['string_valid_path_edition_2023']._serialized_options = b'\302H\252\001\n\247\001\n\036string.valid_path.edition_2023\032\204\001!this.matches(\'^([^/.][^/]?|[^/][^/.]|[^/]{3,})(/([^/.][^/]?|[^/][^/.]|[^/]{3,}))*$\') ? \'not a valid path: `%s`\'.format([this]) : \'\'' + _globals['bytes_valid_path_edition_2023']._loaded_options = None + _globals['bytes_valid_path_edition_2023']._serialized_options = b'\302H\261\001\n\256\001\n\035bytes.valid_path.edition_2023\032\214\001!string(this).matches(\'^([^/.][^/]?|[^/][^/.]|[^/]{3,})(/([^/.][^/]?|[^/][^/.]|[^/]{3,}))*$\') ? \'not a valid path: `%s`\'.format([this]) : \'\'' + _globals['enum_non_zero_edition_2023']._loaded_options = None + _globals['enum_non_zero_edition_2023']._serialized_options = b'\302HJ\nH\n\032enum.non_zero.edition_2023\022\032enum value is not non-zero\032\016int(this) != 0' + _globals['repeated_at_least_five_edition_2023']._loaded_options = None + _globals['repeated_at_least_five_edition_2023']._serialized_options = b'\302Ho\nm\n#repeated.at_least_five.edition_2023\022-repeated field must have at least five values\032\027uint(this.size()) >= 5u' + _globals['map_at_least_five_edition_2023']._loaded_options = None + _globals['map_at_least_five_edition_2023']._serialized_options = b'\302H^\n\\\n\036map.at_least_five.edition_2023\022!map must have at least five pairs\032\027uint(this.size()) >= 5u' + _globals['duration_too_long_edition_2023']._loaded_options = None + _globals['duration_too_long_edition_2023']._serialized_options = b'\302He\nc\n\036duration.too_long.edition_2023\022(duration can\'t be longer than 10 seconds\032\027this <= duration(\'10s\')' + _globals['timestamp_in_range_edition_2023']._loaded_options = None + _globals['timestamp_in_range_edition_2023']._serialized_options = b'\302Hq\no\n!timestamp.time_range.edition_2023\022\026timestamp out of range\0322int(this) >= 1049587200 && int(this) <= 1080432000' + _globals['_PREDEFINEDFLOATRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFLOATRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\010\n\006\325H\000\000\200?' + _globals['_PREDEFINEDDOUBLERULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDDOUBLERULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\014\022\n\321H\000\000\000\000\000\000\360?' + _globals['_PREDEFINEDINT32RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDINT32RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005\032\003\320H\001' + _globals['_PREDEFINEDINT64RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDINT64RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005\"\003\320H\001' + _globals['_PREDEFINEDUINT32RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDUINT32RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005*\003\320H\001' + _globals['_PREDEFINEDUINT64RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDUINT64RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\0052\003\320H\001' + _globals['_PREDEFINEDSINT32RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSINT32RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005:\003\320H\001' + _globals['_PREDEFINEDSINT64RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSINT64RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005B\003\320H\001' + _globals['_PREDEFINEDFIXED32RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFIXED32RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005J\003\320H\001' + _globals['_PREDEFINEDFIXED64RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDFIXED64RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005R\003\320H\001' + _globals['_PREDEFINEDSFIXED32RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSFIXED32RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005Z\003\320H\001' + _globals['_PREDEFINEDSFIXED64RULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSFIXED64RULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005b\003\320H\001' + _globals['_PREDEFINEDBOOLRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDBOOLRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005j\003\320H\001' + _globals['_PREDEFINEDSTRINGRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDSTRINGRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005r\003\320H\001' + _globals['_PREDEFINEDBYTESRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDBYTESRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\005z\003\320H\001' + _globals['_PREDEFINEDENUMRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDENUMRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\006\202\001\003\320H\001' + _globals['_PREDEFINEDREPEATEDRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDREPEATEDRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\006\222\001\003\320H\001' + _globals['_PREDEFINEDMAPRULEEDITION2023_VALENTRY']._loaded_options = None + _globals['_PREDEFINEDMAPRULEEDITION2023_VALENTRY']._serialized_options = b'8\001' + _globals['_PREDEFINEDMAPRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDMAPRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\006\232\001\003\320H\001' + _globals['_PREDEFINEDDURATIONRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDDURATIONRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\006\252\001\003\320H\001' + _globals['_PREDEFINEDTIMESTAMPRULEEDITION2023'].fields_by_name['val']._loaded_options = None + _globals['_PREDEFINEDTIMESTAMPRULEEDITION2023'].fields_by_name['val']._serialized_options = b'\272H\006\262\001\003\320H\001' + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023_NESTED'].fields_by_name['c']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023_NESTED'].fields_by_name['c']._serialized_options = b'\272H^\032\003\320H\001\272\001V\n.predefined_and_custom_rule_nested_edition_2023\032$this > 0 ? \'\' : \'c must be positive\'' + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023'].fields_by_name['a']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023'].fields_by_name['a']._serialized_options = b'\272Hf\032\003\320H\001\272\001^\n.predefined_and_custom_rule_scalar_edition_2023\032,this > 24 ? \'\' : \'a must be greater than 24\'' + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023'].fields_by_name['b']._loaded_options = None + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023'].fields_by_name['b']._serialized_options = b'\272Hc\272\001`\n0predefined_and_custom_rule_embedded_edition_2023\022\033b.c must be a multiple of 3\032\017this.c % 3 == 0' + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEEDITION2023'].fields_by_name['a']._loaded_options = None + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEEDITION2023'].fields_by_name['a']._serialized_options = b'\272Hq\032\005\020\034\320H\001\272\001g\n7standard_predefined_and_custom_rule_scalar_edition_2023\032,this > 24 ? \'\' : \'a must be greater than 24\'' + _globals['_PREDEFINEDFLOATRULEEDITION2023']._serialized_start=198 + _globals['_PREDEFINEDFLOATRULEEDITION2023']._serialized_end=261 + _globals['_PREDEFINEDDOUBLERULEEDITION2023']._serialized_start=263 + _globals['_PREDEFINEDDOUBLERULEEDITION2023']._serialized_end=331 + _globals['_PREDEFINEDINT32RULEEDITION2023']._serialized_start=333 + _globals['_PREDEFINEDINT32RULEEDITION2023']._serialized_end=393 + _globals['_PREDEFINEDINT64RULEEDITION2023']._serialized_start=395 + _globals['_PREDEFINEDINT64RULEEDITION2023']._serialized_end=455 + _globals['_PREDEFINEDUINT32RULEEDITION2023']._serialized_start=457 + _globals['_PREDEFINEDUINT32RULEEDITION2023']._serialized_end=518 + _globals['_PREDEFINEDUINT64RULEEDITION2023']._serialized_start=520 + _globals['_PREDEFINEDUINT64RULEEDITION2023']._serialized_end=581 + _globals['_PREDEFINEDSINT32RULEEDITION2023']._serialized_start=583 + _globals['_PREDEFINEDSINT32RULEEDITION2023']._serialized_end=644 + _globals['_PREDEFINEDSINT64RULEEDITION2023']._serialized_start=646 + _globals['_PREDEFINEDSINT64RULEEDITION2023']._serialized_end=707 + _globals['_PREDEFINEDFIXED32RULEEDITION2023']._serialized_start=709 + _globals['_PREDEFINEDFIXED32RULEEDITION2023']._serialized_end=771 + _globals['_PREDEFINEDFIXED64RULEEDITION2023']._serialized_start=773 + _globals['_PREDEFINEDFIXED64RULEEDITION2023']._serialized_end=835 + _globals['_PREDEFINEDSFIXED32RULEEDITION2023']._serialized_start=837 + _globals['_PREDEFINEDSFIXED32RULEEDITION2023']._serialized_end=900 + _globals['_PREDEFINEDSFIXED64RULEEDITION2023']._serialized_start=902 + _globals['_PREDEFINEDSFIXED64RULEEDITION2023']._serialized_end=965 + _globals['_PREDEFINEDBOOLRULEEDITION2023']._serialized_start=967 + _globals['_PREDEFINEDBOOLRULEEDITION2023']._serialized_end=1026 + _globals['_PREDEFINEDSTRINGRULEEDITION2023']._serialized_start=1028 + _globals['_PREDEFINEDSTRINGRULEEDITION2023']._serialized_end=1089 + _globals['_PREDEFINEDBYTESRULEEDITION2023']._serialized_start=1091 + _globals['_PREDEFINEDBYTESRULEEDITION2023']._serialized_end=1151 + _globals['_PREDEFINEDENUMRULEEDITION2023']._serialized_start=1154 + _globals['_PREDEFINEDENUMRULEEDITION2023']._serialized_end=1377 + _globals['_PREDEFINEDENUMRULEEDITION2023_ENUMEDITION2023']._serialized_start=1295 + _globals['_PREDEFINEDENUMRULEEDITION2023_ENUMEDITION2023']._serialized_end=1377 + _globals['_PREDEFINEDREPEATEDRULEEDITION2023']._serialized_start=1379 + _globals['_PREDEFINEDREPEATEDRULEEDITION2023']._serialized_end=1443 + _globals['_PREDEFINEDMAPRULEEDITION2023']._serialized_start=1446 + _globals['_PREDEFINEDMAPRULEEDITION2023']._serialized_end=1632 + _globals['_PREDEFINEDMAPRULEEDITION2023_VALENTRY']._serialized_start=1578 + _globals['_PREDEFINEDMAPRULEEDITION2023_VALENTRY']._serialized_end=1632 + _globals['_PREDEFINEDDURATIONRULEEDITION2023']._serialized_start=1634 + _globals['_PREDEFINEDDURATIONRULEEDITION2023']._serialized_end=1725 + _globals['_PREDEFINEDTIMESTAMPRULEEDITION2023']._serialized_start=1727 + _globals['_PREDEFINEDTIMESTAMPRULEEDITION2023']._serialized_end=1820 + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023']._serialized_start=1823 + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023']._serialized_end=2297 + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023_NESTED']._serialized_start=2176 + _globals['_PREDEFINEDANDCUSTOMRULEEDITION2023_NESTED']._serialized_end=2297 + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEEDITION2023']._serialized_start=2300 + _globals['_STANDARDPREDEFINEDANDCUSTOMRULEEDITION2023']._serialized_end=2477 +# @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/predefined_rules_proto_editions_pb2.pyi b/gen/buf/validate/conformance/cases/predefined_rules_proto_editions_pb2.pyi new file mode 100644 index 0000000..ff01a2c --- /dev/null +++ b/gen/buf/validate/conformance/cases/predefined_rules_proto_editions_pb2.pyi @@ -0,0 +1,216 @@ +# Copyright 2023 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from buf.validate import validate_pb2 as _validate_pb2 +from google.protobuf import duration_pb2 as _duration_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor +FLOAT_ABS_RANGE_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +float_abs_range_edition_2023: _descriptor.FieldDescriptor +DOUBLE_ABS_RANGE_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +double_abs_range_edition_2023: _descriptor.FieldDescriptor +INT32_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +int32_even_edition_2023: _descriptor.FieldDescriptor +INT64_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +int64_even_edition_2023: _descriptor.FieldDescriptor +UINT32_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +uint32_even_edition_2023: _descriptor.FieldDescriptor +UINT64_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +uint64_even_edition_2023: _descriptor.FieldDescriptor +SINT32_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +sint32_even_edition_2023: _descriptor.FieldDescriptor +SINT64_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +sint64_even_edition_2023: _descriptor.FieldDescriptor +FIXED32_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +fixed32_even_edition_2023: _descriptor.FieldDescriptor +FIXED64_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +fixed64_even_edition_2023: _descriptor.FieldDescriptor +SFIXED32_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +sfixed32_even_edition_2023: _descriptor.FieldDescriptor +SFIXED64_EVEN_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +sfixed64_even_edition_2023: _descriptor.FieldDescriptor +BOOL_FALSE_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +bool_false_edition_2023: _descriptor.FieldDescriptor +STRING_VALID_PATH_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +string_valid_path_edition_2023: _descriptor.FieldDescriptor +BYTES_VALID_PATH_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +bytes_valid_path_edition_2023: _descriptor.FieldDescriptor +ENUM_NON_ZERO_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +enum_non_zero_edition_2023: _descriptor.FieldDescriptor +REPEATED_AT_LEAST_FIVE_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +repeated_at_least_five_edition_2023: _descriptor.FieldDescriptor +MAP_AT_LEAST_FIVE_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +map_at_least_five_edition_2023: _descriptor.FieldDescriptor +DURATION_TOO_LONG_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +duration_too_long_edition_2023: _descriptor.FieldDescriptor +TIMESTAMP_IN_RANGE_EDITION_2023_FIELD_NUMBER: _ClassVar[int] +timestamp_in_range_edition_2023: _descriptor.FieldDescriptor + +class PredefinedFloatRuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + +class PredefinedDoubleRuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: float + def __init__(self, val: _Optional[float] = ...) -> None: ... + +class PredefinedInt32RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedInt64RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedUInt32RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedUInt64RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSInt32RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSInt64RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedFixed32RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedFixed64RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSFixed32RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedSFixed64RuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: int + def __init__(self, val: _Optional[int] = ...) -> None: ... + +class PredefinedBoolRuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bool + def __init__(self, val: bool = ...) -> None: ... + +class PredefinedStringRuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + +class PredefinedBytesRuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: bytes + def __init__(self, val: _Optional[bytes] = ...) -> None: ... + +class PredefinedEnumRuleEdition2023(_message.Message): + __slots__ = ("val",) + class EnumEdition2023(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ENUM_EDITION2023_ZERO_UNSPECIFIED: _ClassVar[PredefinedEnumRuleEdition2023.EnumEdition2023] + ENUM_EDITION2023_ONE: _ClassVar[PredefinedEnumRuleEdition2023.EnumEdition2023] + ENUM_EDITION2023_ZERO_UNSPECIFIED: PredefinedEnumRuleEdition2023.EnumEdition2023 + ENUM_EDITION2023_ONE: PredefinedEnumRuleEdition2023.EnumEdition2023 + VAL_FIELD_NUMBER: _ClassVar[int] + val: PredefinedEnumRuleEdition2023.EnumEdition2023 + def __init__(self, val: _Optional[_Union[PredefinedEnumRuleEdition2023.EnumEdition2023, str]] = ...) -> None: ... + +class PredefinedRepeatedRuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, val: _Optional[_Iterable[int]] = ...) -> None: ... + +class PredefinedMapRuleEdition2023(_message.Message): + __slots__ = ("val",) + class ValEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: int + value: int + def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... + VAL_FIELD_NUMBER: _ClassVar[int] + val: _containers.ScalarMap[int, int] + def __init__(self, val: _Optional[_Mapping[int, int]] = ...) -> None: ... + +class PredefinedDurationRuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _duration_pb2.Duration + def __init__(self, val: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + +class PredefinedTimestampRuleEdition2023(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _timestamp_pb2.Timestamp + def __init__(self, val: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class PredefinedAndCustomRuleEdition2023(_message.Message): + __slots__ = ("a", "b") + class Nested(_message.Message): + __slots__ = ("c",) + C_FIELD_NUMBER: _ClassVar[int] + c: int + def __init__(self, c: _Optional[int] = ...) -> None: ... + A_FIELD_NUMBER: _ClassVar[int] + B_FIELD_NUMBER: _ClassVar[int] + a: int + b: PredefinedAndCustomRuleEdition2023.Nested + def __init__(self, a: _Optional[int] = ..., b: _Optional[_Union[PredefinedAndCustomRuleEdition2023.Nested, _Mapping]] = ...) -> None: ... + +class StandardPredefinedAndCustomRuleEdition2023(_message.Message): + __slots__ = ("a",) + A_FIELD_NUMBER: _ClassVar[int] + a: int + def __init__(self, a: _Optional[int] = ...) -> None: ... diff --git a/gen/buf/validate/conformance/cases/repeated_pb2.py b/gen/buf/validate/conformance/cases/repeated_pb2.py index cd27490..e5094c6 100644 --- a/gen/buf/validate/conformance/cases/repeated_pb2.py +++ b/gen/buf/validate/conformance/cases/repeated_pb2.py @@ -42,7 +42,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-buf/validate/conformance/cases/repeated.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x38\x62uf/validate/conformance/cases/other_package/embed.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\"\"\n\x05\x45mbed\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x03val\" \n\x0cRepeatedNone\x12\x10\n\x03val\x18\x01 \x03(\x03R\x03val\"L\n\x11RepeatedEmbedNone\x12\x37\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedR\x03val\"f\n\x1dRepeatedEmbedCrossPackageNone\x12\x45\n\x03val\x18\x01 \x03(\x0b\x32\x33.buf.validate.conformance.cases.other_package.EmbedR\x03val\"P\n\x0bRepeatedMin\x12\x41\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x03val\")\n\x0bRepeatedMax\x12\x1a\n\x03val\x18\x01 \x03(\x01\x42\x08\xbaH\x05\x92\x01\x02\x10\x03R\x03val\".\n\x0eRepeatedMinMax\x12\x1c\n\x03val\x18\x01 \x03(\x0f\x42\n\xbaH\x07\x92\x01\x04\x08\x02\x10\x04R\x03val\"-\n\rRepeatedExact\x12\x1c\n\x03val\x18\x01 \x03(\rB\n\xbaH\x07\x92\x01\x04\x08\x03\x10\x03R\x03val\",\n\x0eRepeatedUnique\x12\x1a\n\x03val\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x01R\x03val\"H\n\x16RepeatedMultipleUnique\x12\x16\n\x01\x61\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x01R\x01\x61\x12\x16\n\x01\x62\x18\x02 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x18\x01R\x01\x62\"5\n\x10RepeatedItemRule\x12!\n\x03val\x18\x01 \x03(\x02\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\n\x05%\x00\x00\x00\x00R\x03val\"D\n\x13RepeatedItemPattern\x12-\n\x03val\x18\x01 \x03(\tB\x1b\xbaH\x18\x92\x01\x15\"\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\"Y\n\x11RepeatedEmbedSkip\x12\x44\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedB\x0b\xbaH\x08\x92\x01\x05\"\x03\xd8\x01\x03R\x03val\"8\n\x0eRepeatedItemIn\x12&\n\x03val\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\"\x0cr\nR\x03\x66ooR\x03\x62\x61rR\x03val\";\n\x11RepeatedItemNotIn\x12&\n\x03val\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\"\x0cr\nZ\x03\x66ooZ\x03\x62\x61rR\x03val\"Z\n\x0eRepeatedEnumIn\x12H\n\x03val\x18\x01 \x03(\x0e\x32&.buf.validate.conformance.cases.AnEnumB\x0e\xbaH\x0b\x92\x01\x08\"\x06\x82\x01\x03\x1a\x01\x00R\x03val\"]\n\x11RepeatedEnumNotIn\x12H\n\x03val\x18\x01 \x03(\x0e\x32&.buf.validate.conformance.cases.AnEnumB\x0e\xbaH\x0b\x92\x01\x08\"\x06\x82\x01\x03\"\x01\x00R\x03val\"\xe0\x01\n\x16RepeatedEmbeddedEnumIn\x12\x66\n\x03val\x18\x01 \x03(\x0e\x32\x44.buf.validate.conformance.cases.RepeatedEmbeddedEnumIn.AnotherInEnumB\x0e\xbaH\x0b\x92\x01\x08\"\x06\x82\x01\x03\x1a\x01\x00R\x03val\"^\n\rAnotherInEnum\x12\x1f\n\x1b\x41NOTHER_IN_ENUM_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41NOTHER_IN_ENUM_A\x10\x01\x12\x15\n\x11\x41NOTHER_IN_ENUM_B\x10\x02\"\xf8\x01\n\x19RepeatedEmbeddedEnumNotIn\x12l\n\x03val\x18\x01 \x03(\x0e\x32J.buf.validate.conformance.cases.RepeatedEmbeddedEnumNotIn.AnotherNotInEnumB\x0e\xbaH\x0b\x92\x01\x08\"\x06\x82\x01\x03\"\x01\x00R\x03val\"m\n\x10\x41notherNotInEnum\x12#\n\x1f\x41NOTHER_NOT_IN_ENUM_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41NOTHER_NOT_IN_ENUM_A\x10\x01\x12\x19\n\x15\x41NOTHER_NOT_IN_ENUM_B\x10\x02\"r\n\rRepeatedAnyIn\x12\x61\n\x03val\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyB9\xbaH6\x92\x01\x33\"1\xa2\x01.\x12,type.googleapis.com/google.protobuf.DurationR\x03val\"v\n\x10RepeatedAnyNotIn\x12\x62\n\x03val\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyB:\xbaH7\x92\x01\x34\"2\xa2\x01/\x1a-type.googleapis.com/google.protobuf.TimestampR\x03val\":\n\x15RepeatedMinAndItemLen\x12!\n\x03val\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\x98\x01\x03R\x03val\"8\n\x18RepeatedMinAndMaxItemLen\x12\x1c\n\x03val\x18\x01 \x03(\tB\n\xbaH\x07\x92\x01\x04\x08\x01\x10\x03R\x03val\"R\n\x10RepeatedDuration\x12>\n\x03val\x18\x01 \x03(\x0b\x32\x19.google.protobuf.DurationB\x11\xbaH\x0e\x92\x01\x0b\"\t\xaa\x01\x06\x32\x04\x10\xc0\x84=R\x03val\"6\n\x13RepeatedExactIgnore\x12\x1f\n\x03val\x18\x01 \x03(\rB\r\xbaH\n\x92\x01\x04\x08\x03\x10\x03\xd0\x01\x01R\x03val*?\n\x06\x41nEnum\x12\x17\n\x13\x41N_ENUM_UNSPECIFIED\x10\x00\x12\r\n\tAN_ENUM_X\x10\x01\x12\r\n\tAN_ENUM_Y\x10\x02\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-buf/validate/conformance/cases/repeated.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x38\x62uf/validate/conformance/cases/other_package/embed.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\"\"\n\x05\x45mbed\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x03val\" \n\x0cRepeatedNone\x12\x10\n\x03val\x18\x01 \x03(\x03R\x03val\"L\n\x11RepeatedEmbedNone\x12\x37\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedR\x03val\"f\n\x1dRepeatedEmbedCrossPackageNone\x12\x45\n\x03val\x18\x01 \x03(\x0b\x32\x33.buf.validate.conformance.cases.other_package.EmbedR\x03val\"P\n\x0bRepeatedMin\x12\x41\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x03val\")\n\x0bRepeatedMax\x12\x1a\n\x03val\x18\x01 \x03(\x01\x42\x08\xbaH\x05\x92\x01\x02\x10\x03R\x03val\".\n\x0eRepeatedMinMax\x12\x1c\n\x03val\x18\x01 \x03(\x0f\x42\n\xbaH\x07\x92\x01\x04\x08\x02\x10\x04R\x03val\"-\n\rRepeatedExact\x12\x1c\n\x03val\x18\x01 \x03(\rB\n\xbaH\x07\x92\x01\x04\x08\x03\x10\x03R\x03val\",\n\x0eRepeatedUnique\x12\x1a\n\x03val\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x01R\x03val\"/\n\x11RepeatedNotUnique\x12\x1a\n\x03val\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x00R\x03val\"H\n\x16RepeatedMultipleUnique\x12\x16\n\x01\x61\x18\x01 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x18\x01R\x01\x61\x12\x16\n\x01\x62\x18\x02 \x03(\x05\x42\x08\xbaH\x05\x92\x01\x02\x18\x01R\x01\x62\"5\n\x10RepeatedItemRule\x12!\n\x03val\x18\x01 \x03(\x02\x42\x0f\xbaH\x0c\x92\x01\t\"\x07\n\x05%\x00\x00\x00\x00R\x03val\"D\n\x13RepeatedItemPattern\x12-\n\x03val\x18\x01 \x03(\tB\x1b\xbaH\x18\x92\x01\x15\"\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\"Y\n\x11RepeatedEmbedSkip\x12\x44\n\x03val\x18\x01 \x03(\x0b\x32%.buf.validate.conformance.cases.EmbedB\x0b\xbaH\x08\x92\x01\x05\"\x03\xd8\x01\x03R\x03val\"8\n\x0eRepeatedItemIn\x12&\n\x03val\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\"\x0cr\nR\x03\x66ooR\x03\x62\x61rR\x03val\";\n\x11RepeatedItemNotIn\x12&\n\x03val\x18\x01 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\"\x0cr\nZ\x03\x66ooZ\x03\x62\x61rR\x03val\"Y\n\x0eRepeatedEnumIn\x12G\n\x03val\x18\x01 \x03(\x0e\x32&.buf.validate.conformance.cases.AnEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x18\x00R\x03val\"\\\n\x11RepeatedEnumNotIn\x12G\n\x03val\x18\x01 \x03(\x0e\x32&.buf.validate.conformance.cases.AnEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02 \x00R\x03val\"\xdf\x01\n\x16RepeatedEmbeddedEnumIn\x12\x65\n\x03val\x18\x01 \x03(\x0e\x32\x44.buf.validate.conformance.cases.RepeatedEmbeddedEnumIn.AnotherInEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x18\x00R\x03val\"^\n\rAnotherInEnum\x12\x1f\n\x1b\x41NOTHER_IN_ENUM_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41NOTHER_IN_ENUM_A\x10\x01\x12\x15\n\x11\x41NOTHER_IN_ENUM_B\x10\x02\"\xf7\x01\n\x19RepeatedEmbeddedEnumNotIn\x12k\n\x03val\x18\x01 \x03(\x0e\x32J.buf.validate.conformance.cases.RepeatedEmbeddedEnumNotIn.AnotherNotInEnumB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02 \x00R\x03val\"m\n\x10\x41notherNotInEnum\x12#\n\x1f\x41NOTHER_NOT_IN_ENUM_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41NOTHER_NOT_IN_ENUM_A\x10\x01\x12\x19\n\x15\x41NOTHER_NOT_IN_ENUM_B\x10\x02\"r\n\rRepeatedAnyIn\x12\x61\n\x03val\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyB9\xbaH6\x92\x01\x33\"1\xa2\x01.\x12,type.googleapis.com/google.protobuf.DurationR\x03val\"v\n\x10RepeatedAnyNotIn\x12\x62\n\x03val\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyB:\xbaH7\x92\x01\x34\"2\xa2\x01/\x1a-type.googleapis.com/google.protobuf.TimestampR\x03val\":\n\x15RepeatedMinAndItemLen\x12!\n\x03val\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x08\x01\"\x05r\x03\x98\x01\x03R\x03val\"8\n\x18RepeatedMinAndMaxItemLen\x12\x1c\n\x03val\x18\x01 \x03(\tB\n\xbaH\x07\x92\x01\x04\x08\x01\x10\x03R\x03val\"R\n\x10RepeatedDuration\x12>\n\x03val\x18\x01 \x03(\x0b\x32\x19.google.protobuf.DurationB\x11\xbaH\x0e\x92\x01\x0b\"\t\xaa\x01\x06\x32\x04\x10\xc0\x84=R\x03val\"6\n\x13RepeatedExactIgnore\x12\x1f\n\x03val\x18\x01 \x03(\rB\r\xbaH\n\x92\x01\x04\x08\x03\x10\x03\xd0\x01\x01R\x03val*?\n\x06\x41nEnum\x12\x17\n\x13\x41N_ENUM_UNSPECIFIED\x10\x00\x12\r\n\tAN_ENUM_X\x10\x01\x12\r\n\tAN_ENUM_Y\x10\x02\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -61,6 +61,8 @@ _globals['_REPEATEDEXACT'].fields_by_name['val']._serialized_options = b'\272H\007\222\001\004\010\003\020\003' _globals['_REPEATEDUNIQUE'].fields_by_name['val']._loaded_options = None _globals['_REPEATEDUNIQUE'].fields_by_name['val']._serialized_options = b'\272H\005\222\001\002\030\001' + _globals['_REPEATEDNOTUNIQUE'].fields_by_name['val']._loaded_options = None + _globals['_REPEATEDNOTUNIQUE'].fields_by_name['val']._serialized_options = b'\272H\005\222\001\002\030\000' _globals['_REPEATEDMULTIPLEUNIQUE'].fields_by_name['a']._loaded_options = None _globals['_REPEATEDMULTIPLEUNIQUE'].fields_by_name['a']._serialized_options = b'\272H\005\222\001\002\030\001' _globals['_REPEATEDMULTIPLEUNIQUE'].fields_by_name['b']._loaded_options = None @@ -76,13 +78,13 @@ _globals['_REPEATEDITEMNOTIN'].fields_by_name['val']._loaded_options = None _globals['_REPEATEDITEMNOTIN'].fields_by_name['val']._serialized_options = b'\272H\021\222\001\016\"\014r\nZ\003fooZ\003bar' _globals['_REPEATEDENUMIN'].fields_by_name['val']._loaded_options = None - _globals['_REPEATEDENUMIN'].fields_by_name['val']._serialized_options = b'\272H\013\222\001\010\"\006\202\001\003\032\001\000' + _globals['_REPEATEDENUMIN'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\005\202\001\002\030\000' _globals['_REPEATEDENUMNOTIN'].fields_by_name['val']._loaded_options = None - _globals['_REPEATEDENUMNOTIN'].fields_by_name['val']._serialized_options = b'\272H\013\222\001\010\"\006\202\001\003\"\001\000' + _globals['_REPEATEDENUMNOTIN'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\005\202\001\002 \000' _globals['_REPEATEDEMBEDDEDENUMIN'].fields_by_name['val']._loaded_options = None - _globals['_REPEATEDEMBEDDEDENUMIN'].fields_by_name['val']._serialized_options = b'\272H\013\222\001\010\"\006\202\001\003\032\001\000' + _globals['_REPEATEDEMBEDDEDENUMIN'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\005\202\001\002\030\000' _globals['_REPEATEDEMBEDDEDENUMNOTIN'].fields_by_name['val']._loaded_options = None - _globals['_REPEATEDEMBEDDEDENUMNOTIN'].fields_by_name['val']._serialized_options = b'\272H\013\222\001\010\"\006\202\001\003\"\001\000' + _globals['_REPEATEDEMBEDDEDENUMNOTIN'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\007\"\005\202\001\002 \000' _globals['_REPEATEDANYIN'].fields_by_name['val']._loaded_options = None _globals['_REPEATEDANYIN'].fields_by_name['val']._serialized_options = b'\272H6\222\0013\"1\242\001.\022,type.googleapis.com/google.protobuf.Duration' _globals['_REPEATEDANYNOTIN'].fields_by_name['val']._loaded_options = None @@ -95,8 +97,8 @@ _globals['_REPEATEDDURATION'].fields_by_name['val']._serialized_options = b'\272H\016\222\001\013\"\t\252\001\0062\004\020\300\204=' _globals['_REPEATEDEXACTIGNORE'].fields_by_name['val']._loaded_options = None _globals['_REPEATEDEXACTIGNORE'].fields_by_name['val']._serialized_options = b'\272H\n\222\001\004\010\003\020\003\320\001\001' - _globals['_ANENUM']._serialized_start=2313 - _globals['_ANENUM']._serialized_end=2376 + _globals['_ANENUM']._serialized_start=2358 + _globals['_ANENUM']._serialized_end=2421 _globals['_EMBED']._serialized_start=227 _globals['_EMBED']._serialized_end=261 _globals['_REPEATEDNONE']._serialized_start=263 @@ -115,40 +117,42 @@ _globals['_REPEATEDEXACT']._serialized_end=697 _globals['_REPEATEDUNIQUE']._serialized_start=699 _globals['_REPEATEDUNIQUE']._serialized_end=743 - _globals['_REPEATEDMULTIPLEUNIQUE']._serialized_start=745 - _globals['_REPEATEDMULTIPLEUNIQUE']._serialized_end=817 - _globals['_REPEATEDITEMRULE']._serialized_start=819 - _globals['_REPEATEDITEMRULE']._serialized_end=872 - _globals['_REPEATEDITEMPATTERN']._serialized_start=874 - _globals['_REPEATEDITEMPATTERN']._serialized_end=942 - _globals['_REPEATEDEMBEDSKIP']._serialized_start=944 - _globals['_REPEATEDEMBEDSKIP']._serialized_end=1033 - _globals['_REPEATEDITEMIN']._serialized_start=1035 - _globals['_REPEATEDITEMIN']._serialized_end=1091 - _globals['_REPEATEDITEMNOTIN']._serialized_start=1093 - _globals['_REPEATEDITEMNOTIN']._serialized_end=1152 - _globals['_REPEATEDENUMIN']._serialized_start=1154 - _globals['_REPEATEDENUMIN']._serialized_end=1244 - _globals['_REPEATEDENUMNOTIN']._serialized_start=1246 - _globals['_REPEATEDENUMNOTIN']._serialized_end=1339 - _globals['_REPEATEDEMBEDDEDENUMIN']._serialized_start=1342 - _globals['_REPEATEDEMBEDDEDENUMIN']._serialized_end=1566 - _globals['_REPEATEDEMBEDDEDENUMIN_ANOTHERINENUM']._serialized_start=1472 - _globals['_REPEATEDEMBEDDEDENUMIN_ANOTHERINENUM']._serialized_end=1566 - _globals['_REPEATEDEMBEDDEDENUMNOTIN']._serialized_start=1569 - _globals['_REPEATEDEMBEDDEDENUMNOTIN']._serialized_end=1817 - _globals['_REPEATEDEMBEDDEDENUMNOTIN_ANOTHERNOTINENUM']._serialized_start=1708 - _globals['_REPEATEDEMBEDDEDENUMNOTIN_ANOTHERNOTINENUM']._serialized_end=1817 - _globals['_REPEATEDANYIN']._serialized_start=1819 - _globals['_REPEATEDANYIN']._serialized_end=1933 - _globals['_REPEATEDANYNOTIN']._serialized_start=1935 - _globals['_REPEATEDANYNOTIN']._serialized_end=2053 - _globals['_REPEATEDMINANDITEMLEN']._serialized_start=2055 - _globals['_REPEATEDMINANDITEMLEN']._serialized_end=2113 - _globals['_REPEATEDMINANDMAXITEMLEN']._serialized_start=2115 - _globals['_REPEATEDMINANDMAXITEMLEN']._serialized_end=2171 - _globals['_REPEATEDDURATION']._serialized_start=2173 - _globals['_REPEATEDDURATION']._serialized_end=2255 - _globals['_REPEATEDEXACTIGNORE']._serialized_start=2257 - _globals['_REPEATEDEXACTIGNORE']._serialized_end=2311 + _globals['_REPEATEDNOTUNIQUE']._serialized_start=745 + _globals['_REPEATEDNOTUNIQUE']._serialized_end=792 + _globals['_REPEATEDMULTIPLEUNIQUE']._serialized_start=794 + _globals['_REPEATEDMULTIPLEUNIQUE']._serialized_end=866 + _globals['_REPEATEDITEMRULE']._serialized_start=868 + _globals['_REPEATEDITEMRULE']._serialized_end=921 + _globals['_REPEATEDITEMPATTERN']._serialized_start=923 + _globals['_REPEATEDITEMPATTERN']._serialized_end=991 + _globals['_REPEATEDEMBEDSKIP']._serialized_start=993 + _globals['_REPEATEDEMBEDSKIP']._serialized_end=1082 + _globals['_REPEATEDITEMIN']._serialized_start=1084 + _globals['_REPEATEDITEMIN']._serialized_end=1140 + _globals['_REPEATEDITEMNOTIN']._serialized_start=1142 + _globals['_REPEATEDITEMNOTIN']._serialized_end=1201 + _globals['_REPEATEDENUMIN']._serialized_start=1203 + _globals['_REPEATEDENUMIN']._serialized_end=1292 + _globals['_REPEATEDENUMNOTIN']._serialized_start=1294 + _globals['_REPEATEDENUMNOTIN']._serialized_end=1386 + _globals['_REPEATEDEMBEDDEDENUMIN']._serialized_start=1389 + _globals['_REPEATEDEMBEDDEDENUMIN']._serialized_end=1612 + _globals['_REPEATEDEMBEDDEDENUMIN_ANOTHERINENUM']._serialized_start=1518 + _globals['_REPEATEDEMBEDDEDENUMIN_ANOTHERINENUM']._serialized_end=1612 + _globals['_REPEATEDEMBEDDEDENUMNOTIN']._serialized_start=1615 + _globals['_REPEATEDEMBEDDEDENUMNOTIN']._serialized_end=1862 + _globals['_REPEATEDEMBEDDEDENUMNOTIN_ANOTHERNOTINENUM']._serialized_start=1753 + _globals['_REPEATEDEMBEDDEDENUMNOTIN_ANOTHERNOTINENUM']._serialized_end=1862 + _globals['_REPEATEDANYIN']._serialized_start=1864 + _globals['_REPEATEDANYIN']._serialized_end=1978 + _globals['_REPEATEDANYNOTIN']._serialized_start=1980 + _globals['_REPEATEDANYNOTIN']._serialized_end=2098 + _globals['_REPEATEDMINANDITEMLEN']._serialized_start=2100 + _globals['_REPEATEDMINANDITEMLEN']._serialized_end=2158 + _globals['_REPEATEDMINANDMAXITEMLEN']._serialized_start=2160 + _globals['_REPEATEDMINANDMAXITEMLEN']._serialized_end=2216 + _globals['_REPEATEDDURATION']._serialized_start=2218 + _globals['_REPEATEDDURATION']._serialized_end=2300 + _globals['_REPEATEDEXACTIGNORE']._serialized_start=2302 + _globals['_REPEATEDEXACTIGNORE']._serialized_end=2356 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/repeated_pb2.pyi b/gen/buf/validate/conformance/cases/repeated_pb2.pyi index 90c6441..5365df5 100644 --- a/gen/buf/validate/conformance/cases/repeated_pb2.pyi +++ b/gen/buf/validate/conformance/cases/repeated_pb2.pyi @@ -87,6 +87,12 @@ class RepeatedUnique(_message.Message): val: _containers.RepeatedScalarFieldContainer[str] def __init__(self, val: _Optional[_Iterable[str]] = ...) -> None: ... +class RepeatedNotUnique(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, val: _Optional[_Iterable[str]] = ...) -> None: ... + class RepeatedMultipleUnique(_message.Message): __slots__ = ("a", "b") A_FIELD_NUMBER: _ClassVar[int] diff --git a/gen/buf/validate/conformance/cases/strings_pb2.py b/gen/buf/validate/conformance/cases/strings_pb2.py index 260d945..de79e1e 100644 --- a/gen/buf/validate/conformance/cases/strings_pb2.py +++ b/gen/buf/validate/conformance/cases/strings_pb2.py @@ -39,7 +39,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,buf/validate/conformance/cases/strings.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1e\n\nStringNone\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"+\n\x0bStringConst\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05\n\x03\x66ooR\x03val\"-\n\x08StringIn\x12!\n\x03val\x18\x01 \x01(\tB\x0f\xbaH\x0cr\nR\x03\x62\x61rR\x03\x62\x61zR\x03val\"2\n\x0bStringNotIn\x12#\n\x03val\x18\x01 \x01(\tB\x11\xbaH\x0er\x0cZ\x04\x66izzZ\x04\x62uzzR\x03val\"\'\n\tStringLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x98\x01\x03R\x03val\")\n\x0cStringMinLen\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x03R\x03val\")\n\x0cStringMaxLen\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x18\x05R\x03val\".\n\x0fStringMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x03\x18\x05R\x03val\"3\n\x14StringEqualMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x05\x18\x05R\x03val\",\n\x0eStringLenBytes\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa0\x01\x04R\x03val\"+\n\x0eStringMinBytes\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02 \x04R\x03val\"+\n\x0eStringMaxBytes\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02(\x08R\x03val\"0\n\x11StringMinMaxBytes\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04 \x04(\x08R\x03val\"5\n\x16StringEqualMinMaxBytes\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04 \x04(\x04R\x03val\"9\n\rStringPattern\x12(\n\x03val\x18\x01 \x01(\tB\x16\xbaH\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\"9\n\x14StringPatternEscapes\x12!\n\x03val\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08\\* \\\\ \\wR\x03val\",\n\x0cStringPrefix\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05:\x03\x66ooR\x03val\".\n\x0eStringContains\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05J\x03\x62\x61rR\x03val\"2\n\x11StringNotContains\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xba\x01\x03\x62\x61rR\x03val\",\n\x0cStringSuffix\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x42\x03\x62\x61zR\x03val\"(\n\x0bStringEmail\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02`\x01R\x03val\"+\n\rStringAddress\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa8\x01\x01R\x03val\"+\n\x0eStringHostname\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02h\x01R\x03val\"%\n\x08StringIP\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x03val\"\'\n\nStringIPv4\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02x\x01R\x03val\"(\n\nStringIPv6\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x01\x01R\x03val\"3\n\x15StringIPWithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd0\x01\x01R\x03val\"5\n\x17StringIPv4WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd8\x01\x01R\x03val\"5\n\x17StringIPv6WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe0\x01\x01R\x03val\",\n\x0eStringIPPrefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe8\x01\x01R\x03val\".\n\x10StringIPv4Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf0\x01\x01R\x03val\".\n\x10StringIPv6Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf8\x01\x01R\x03val\"\'\n\tStringURI\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x01\x01R\x03val\"*\n\x0cStringURIRef\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x90\x01\x01R\x03val\"(\n\nStringUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x03val\")\n\x0bStringTUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x02\x01R\x03val\"2\n\x14StringHttpHeaderName\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc0\x01\x01R\x03val\"3\n\x15StringHttpHeaderValue\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc0\x01\x02R\x03val\":\n\x19StringHttpHeaderNameLoose\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\x01\x01\xc8\x01\x00R\x03val\";\n\x1aStringHttpHeaderValueLoose\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\x01\x02\xc8\x01\x00R\x03val\"1\n\x10StringUUIDIgnore\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd0\x01\x01R\x03val\"7\n\rStringInOneof\x12\x1f\n\x03\x62\x61r\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06R\x01\x61R\x01\x62H\x00R\x03\x62\x61rB\x05\n\x03\x66oo\"/\n\x11StringHostAndPort\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x02\x01R\x03val\"\xa4\x01\n\x19StringHostAndOptionalPort\x12\x86\x01\n\x03val\x18\x01 \x01(\tBt\xbaHq\xba\x01n\n\"string.host_and_port.optional_port\x12-value must be a host and (optional) port pair\x1a\x19this.isHostAndPort(false)R\x03valb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,buf/validate/conformance/cases/strings.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x1e\n\nStringNone\x12\x10\n\x03val\x18\x01 \x01(\tR\x03val\"+\n\x0bStringConst\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05\n\x03\x66ooR\x03val\"-\n\x08StringIn\x12!\n\x03val\x18\x01 \x01(\tB\x0f\xbaH\x0cr\nR\x03\x62\x61rR\x03\x62\x61zR\x03val\"2\n\x0bStringNotIn\x12#\n\x03val\x18\x01 \x01(\tB\x11\xbaH\x0er\x0cZ\x04\x66izzZ\x04\x62uzzR\x03val\"\'\n\tStringLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x98\x01\x03R\x03val\")\n\x0cStringMinLen\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x03R\x03val\")\n\x0cStringMaxLen\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x18\x05R\x03val\".\n\x0fStringMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x03\x18\x05R\x03val\"3\n\x14StringEqualMinMaxLen\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x05\x18\x05R\x03val\",\n\x0eStringLenBytes\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa0\x01\x04R\x03val\"+\n\x0eStringMinBytes\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02 \x04R\x03val\"+\n\x0eStringMaxBytes\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02(\x08R\x03val\"0\n\x11StringMinMaxBytes\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04 \x04(\x08R\x03val\"5\n\x16StringEqualMinMaxBytes\x12\x1b\n\x03val\x18\x01 \x01(\tB\t\xbaH\x06r\x04 \x04(\x04R\x03val\"9\n\rStringPattern\x12(\n\x03val\x18\x01 \x01(\tB\x16\xbaH\x13r\x11\x32\x0f(?i)^[a-z0-9]+$R\x03val\"9\n\x14StringPatternEscapes\x12!\n\x03val\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08\\* \\\\ \\wR\x03val\",\n\x0cStringPrefix\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05:\x03\x66ooR\x03val\".\n\x0eStringContains\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05J\x03\x62\x61rR\x03val\"2\n\x11StringNotContains\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xba\x01\x03\x62\x61rR\x03val\",\n\x0cStringSuffix\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x42\x03\x62\x61zR\x03val\"(\n\x0bStringEmail\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02`\x01R\x03val\"+\n\x0eStringNotEmail\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02`\x00R\x03val\"+\n\rStringAddress\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa8\x01\x01R\x03val\".\n\x10StringNotAddress\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xa8\x01\x00R\x03val\"+\n\x0eStringHostname\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02h\x01R\x03val\".\n\x11StringNotHostname\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02h\x00R\x03val\"%\n\x08StringIP\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x03val\"(\n\x0bStringNotIP\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x00R\x03val\"\'\n\nStringIPv4\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02x\x01R\x03val\"*\n\rStringNotIPv4\x12\x19\n\x03val\x18\x01 \x01(\tB\x07\xbaH\x04r\x02x\x00R\x03val\"(\n\nStringIPv6\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x01\x01R\x03val\"+\n\rStringNotIPv6\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x01\x00R\x03val\"3\n\x15StringIPWithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd0\x01\x01R\x03val\"6\n\x18StringNotIPWithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd0\x01\x00R\x03val\"5\n\x17StringIPv4WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd8\x01\x01R\x03val\"8\n\x1aStringNotIPv4WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xd8\x01\x00R\x03val\"5\n\x17StringIPv6WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe0\x01\x01R\x03val\"8\n\x1aStringNotIPv6WithPrefixLen\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe0\x01\x00R\x03val\",\n\x0eStringIPPrefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe8\x01\x01R\x03val\"/\n\x11StringNotIPPrefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xe8\x01\x00R\x03val\".\n\x10StringIPv4Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf0\x01\x01R\x03val\"1\n\x13StringNotIPv4Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf0\x01\x00R\x03val\".\n\x10StringIPv6Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf8\x01\x01R\x03val\"1\n\x13StringNotIPv6Prefix\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xf8\x01\x00R\x03val\"\'\n\tStringURI\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x01\x01R\x03val\"*\n\x0cStringNotURI\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x01\x00R\x03val\"*\n\x0cStringURIRef\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x90\x01\x01R\x03val\"-\n\x0fStringNotURIRef\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x90\x01\x00R\x03val\"(\n\nStringUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x03val\"+\n\rStringNotUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x00R\x03val\")\n\x0bStringTUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x02\x01R\x03val\",\n\x0eStringNotTUUID\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x88\x02\x00R\x03val\"2\n\x14StringHttpHeaderName\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc0\x01\x01R\x03val\"3\n\x15StringHttpHeaderValue\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xc0\x01\x02R\x03val\":\n\x19StringHttpHeaderNameLoose\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\x01\x01\xc8\x01\x00R\x03val\";\n\x1aStringHttpHeaderValueLoose\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\x01\x02\xc8\x01\x00R\x03val\"1\n\x10StringUUIDIgnore\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd0\x01\x01R\x03val\"7\n\rStringInOneof\x12\x1f\n\x03\x62\x61r\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06R\x01\x61R\x01\x62H\x00R\x03\x62\x61rB\x05\n\x03\x66oo\"/\n\x11StringHostAndPort\x12\x1a\n\x03val\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x80\x02\x01R\x03val\"\xa4\x01\n\x19StringHostAndOptionalPort\x12\x86\x01\n\x03val\x18\x01 \x01(\tBt\xbaHq\xba\x01n\n\"string.host_and_port.optional_port\x12-value must be a host and (optional) port pair\x1a\x19this.isHostAndPort(false)R\x03val\".\n\rStringExample\x12\x1d\n\x03val\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x92\x02\x03\x66ooR\x03valb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -86,36 +86,68 @@ _globals['_STRINGSUFFIX'].fields_by_name['val']._serialized_options = b'\272H\007r\005B\003baz' _globals['_STRINGEMAIL'].fields_by_name['val']._loaded_options = None _globals['_STRINGEMAIL'].fields_by_name['val']._serialized_options = b'\272H\004r\002`\001' + _globals['_STRINGNOTEMAIL'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTEMAIL'].fields_by_name['val']._serialized_options = b'\272H\004r\002`\000' _globals['_STRINGADDRESS'].fields_by_name['val']._loaded_options = None _globals['_STRINGADDRESS'].fields_by_name['val']._serialized_options = b'\272H\005r\003\250\001\001' + _globals['_STRINGNOTADDRESS'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTADDRESS'].fields_by_name['val']._serialized_options = b'\272H\005r\003\250\001\000' _globals['_STRINGHOSTNAME'].fields_by_name['val']._loaded_options = None _globals['_STRINGHOSTNAME'].fields_by_name['val']._serialized_options = b'\272H\004r\002h\001' + _globals['_STRINGNOTHOSTNAME'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTHOSTNAME'].fields_by_name['val']._serialized_options = b'\272H\004r\002h\000' _globals['_STRINGIP'].fields_by_name['val']._loaded_options = None _globals['_STRINGIP'].fields_by_name['val']._serialized_options = b'\272H\004r\002p\001' + _globals['_STRINGNOTIP'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIP'].fields_by_name['val']._serialized_options = b'\272H\004r\002p\000' _globals['_STRINGIPV4'].fields_by_name['val']._loaded_options = None _globals['_STRINGIPV4'].fields_by_name['val']._serialized_options = b'\272H\004r\002x\001' + _globals['_STRINGNOTIPV4'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIPV4'].fields_by_name['val']._serialized_options = b'\272H\004r\002x\000' _globals['_STRINGIPV6'].fields_by_name['val']._loaded_options = None _globals['_STRINGIPV6'].fields_by_name['val']._serialized_options = b'\272H\005r\003\200\001\001' + _globals['_STRINGNOTIPV6'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIPV6'].fields_by_name['val']._serialized_options = b'\272H\005r\003\200\001\000' _globals['_STRINGIPWITHPREFIXLEN'].fields_by_name['val']._loaded_options = None _globals['_STRINGIPWITHPREFIXLEN'].fields_by_name['val']._serialized_options = b'\272H\005r\003\320\001\001' + _globals['_STRINGNOTIPWITHPREFIXLEN'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIPWITHPREFIXLEN'].fields_by_name['val']._serialized_options = b'\272H\005r\003\320\001\000' _globals['_STRINGIPV4WITHPREFIXLEN'].fields_by_name['val']._loaded_options = None _globals['_STRINGIPV4WITHPREFIXLEN'].fields_by_name['val']._serialized_options = b'\272H\005r\003\330\001\001' + _globals['_STRINGNOTIPV4WITHPREFIXLEN'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIPV4WITHPREFIXLEN'].fields_by_name['val']._serialized_options = b'\272H\005r\003\330\001\000' _globals['_STRINGIPV6WITHPREFIXLEN'].fields_by_name['val']._loaded_options = None _globals['_STRINGIPV6WITHPREFIXLEN'].fields_by_name['val']._serialized_options = b'\272H\005r\003\340\001\001' + _globals['_STRINGNOTIPV6WITHPREFIXLEN'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIPV6WITHPREFIXLEN'].fields_by_name['val']._serialized_options = b'\272H\005r\003\340\001\000' _globals['_STRINGIPPREFIX'].fields_by_name['val']._loaded_options = None _globals['_STRINGIPPREFIX'].fields_by_name['val']._serialized_options = b'\272H\005r\003\350\001\001' + _globals['_STRINGNOTIPPREFIX'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIPPREFIX'].fields_by_name['val']._serialized_options = b'\272H\005r\003\350\001\000' _globals['_STRINGIPV4PREFIX'].fields_by_name['val']._loaded_options = None _globals['_STRINGIPV4PREFIX'].fields_by_name['val']._serialized_options = b'\272H\005r\003\360\001\001' + _globals['_STRINGNOTIPV4PREFIX'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIPV4PREFIX'].fields_by_name['val']._serialized_options = b'\272H\005r\003\360\001\000' _globals['_STRINGIPV6PREFIX'].fields_by_name['val']._loaded_options = None _globals['_STRINGIPV6PREFIX'].fields_by_name['val']._serialized_options = b'\272H\005r\003\370\001\001' + _globals['_STRINGNOTIPV6PREFIX'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTIPV6PREFIX'].fields_by_name['val']._serialized_options = b'\272H\005r\003\370\001\000' _globals['_STRINGURI'].fields_by_name['val']._loaded_options = None _globals['_STRINGURI'].fields_by_name['val']._serialized_options = b'\272H\005r\003\210\001\001' + _globals['_STRINGNOTURI'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTURI'].fields_by_name['val']._serialized_options = b'\272H\005r\003\210\001\000' _globals['_STRINGURIREF'].fields_by_name['val']._loaded_options = None _globals['_STRINGURIREF'].fields_by_name['val']._serialized_options = b'\272H\005r\003\220\001\001' + _globals['_STRINGNOTURIREF'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTURIREF'].fields_by_name['val']._serialized_options = b'\272H\005r\003\220\001\000' _globals['_STRINGUUID'].fields_by_name['val']._loaded_options = None _globals['_STRINGUUID'].fields_by_name['val']._serialized_options = b'\272H\005r\003\260\001\001' + _globals['_STRINGNOTUUID'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTUUID'].fields_by_name['val']._serialized_options = b'\272H\005r\003\260\001\000' _globals['_STRINGTUUID'].fields_by_name['val']._loaded_options = None _globals['_STRINGTUUID'].fields_by_name['val']._serialized_options = b'\272H\005r\003\210\002\001' + _globals['_STRINGNOTTUUID'].fields_by_name['val']._loaded_options = None + _globals['_STRINGNOTTUUID'].fields_by_name['val']._serialized_options = b'\272H\005r\003\210\002\000' _globals['_STRINGHTTPHEADERNAME'].fields_by_name['val']._loaded_options = None _globals['_STRINGHTTPHEADERNAME'].fields_by_name['val']._serialized_options = b'\272H\005r\003\300\001\001' _globals['_STRINGHTTPHEADERVALUE'].fields_by_name['val']._loaded_options = None @@ -132,6 +164,8 @@ _globals['_STRINGHOSTANDPORT'].fields_by_name['val']._serialized_options = b'\272H\005r\003\200\002\001' _globals['_STRINGHOSTANDOPTIONALPORT'].fields_by_name['val']._loaded_options = None _globals['_STRINGHOSTANDOPTIONALPORT'].fields_by_name['val']._serialized_options = b'\272Hq\272\001n\n\"string.host_and_port.optional_port\022-value must be a host and (optional) port pair\032\031this.isHostAndPort(false)' + _globals['_STRINGEXAMPLE'].fields_by_name['val']._loaded_options = None + _globals['_STRINGEXAMPLE'].fields_by_name['val']._serialized_options = b'\272H\010r\006\222\002\003foo' _globals['_STRINGNONE']._serialized_start=109 _globals['_STRINGNONE']._serialized_end=139 _globals['_STRINGCONST']._serialized_start=141 @@ -174,50 +208,84 @@ _globals['_STRINGSUFFIX']._serialized_end=1062 _globals['_STRINGEMAIL']._serialized_start=1064 _globals['_STRINGEMAIL']._serialized_end=1104 - _globals['_STRINGADDRESS']._serialized_start=1106 - _globals['_STRINGADDRESS']._serialized_end=1149 - _globals['_STRINGHOSTNAME']._serialized_start=1151 - _globals['_STRINGHOSTNAME']._serialized_end=1194 - _globals['_STRINGIP']._serialized_start=1196 - _globals['_STRINGIP']._serialized_end=1233 - _globals['_STRINGIPV4']._serialized_start=1235 - _globals['_STRINGIPV4']._serialized_end=1274 - _globals['_STRINGIPV6']._serialized_start=1276 - _globals['_STRINGIPV6']._serialized_end=1316 - _globals['_STRINGIPWITHPREFIXLEN']._serialized_start=1318 - _globals['_STRINGIPWITHPREFIXLEN']._serialized_end=1369 - _globals['_STRINGIPV4WITHPREFIXLEN']._serialized_start=1371 - _globals['_STRINGIPV4WITHPREFIXLEN']._serialized_end=1424 - _globals['_STRINGIPV6WITHPREFIXLEN']._serialized_start=1426 - _globals['_STRINGIPV6WITHPREFIXLEN']._serialized_end=1479 - _globals['_STRINGIPPREFIX']._serialized_start=1481 - _globals['_STRINGIPPREFIX']._serialized_end=1525 - _globals['_STRINGIPV4PREFIX']._serialized_start=1527 - _globals['_STRINGIPV4PREFIX']._serialized_end=1573 - _globals['_STRINGIPV6PREFIX']._serialized_start=1575 - _globals['_STRINGIPV6PREFIX']._serialized_end=1621 - _globals['_STRINGURI']._serialized_start=1623 - _globals['_STRINGURI']._serialized_end=1662 - _globals['_STRINGURIREF']._serialized_start=1664 - _globals['_STRINGURIREF']._serialized_end=1706 - _globals['_STRINGUUID']._serialized_start=1708 - _globals['_STRINGUUID']._serialized_end=1748 - _globals['_STRINGTUUID']._serialized_start=1750 - _globals['_STRINGTUUID']._serialized_end=1791 - _globals['_STRINGHTTPHEADERNAME']._serialized_start=1793 - _globals['_STRINGHTTPHEADERNAME']._serialized_end=1843 - _globals['_STRINGHTTPHEADERVALUE']._serialized_start=1845 - _globals['_STRINGHTTPHEADERVALUE']._serialized_end=1896 - _globals['_STRINGHTTPHEADERNAMELOOSE']._serialized_start=1898 - _globals['_STRINGHTTPHEADERNAMELOOSE']._serialized_end=1956 - _globals['_STRINGHTTPHEADERVALUELOOSE']._serialized_start=1958 - _globals['_STRINGHTTPHEADERVALUELOOSE']._serialized_end=2017 - _globals['_STRINGUUIDIGNORE']._serialized_start=2019 - _globals['_STRINGUUIDIGNORE']._serialized_end=2068 - _globals['_STRINGINONEOF']._serialized_start=2070 - _globals['_STRINGINONEOF']._serialized_end=2125 - _globals['_STRINGHOSTANDPORT']._serialized_start=2127 - _globals['_STRINGHOSTANDPORT']._serialized_end=2174 - _globals['_STRINGHOSTANDOPTIONALPORT']._serialized_start=2177 - _globals['_STRINGHOSTANDOPTIONALPORT']._serialized_end=2341 + _globals['_STRINGNOTEMAIL']._serialized_start=1106 + _globals['_STRINGNOTEMAIL']._serialized_end=1149 + _globals['_STRINGADDRESS']._serialized_start=1151 + _globals['_STRINGADDRESS']._serialized_end=1194 + _globals['_STRINGNOTADDRESS']._serialized_start=1196 + _globals['_STRINGNOTADDRESS']._serialized_end=1242 + _globals['_STRINGHOSTNAME']._serialized_start=1244 + _globals['_STRINGHOSTNAME']._serialized_end=1287 + _globals['_STRINGNOTHOSTNAME']._serialized_start=1289 + _globals['_STRINGNOTHOSTNAME']._serialized_end=1335 + _globals['_STRINGIP']._serialized_start=1337 + _globals['_STRINGIP']._serialized_end=1374 + _globals['_STRINGNOTIP']._serialized_start=1376 + _globals['_STRINGNOTIP']._serialized_end=1416 + _globals['_STRINGIPV4']._serialized_start=1418 + _globals['_STRINGIPV4']._serialized_end=1457 + _globals['_STRINGNOTIPV4']._serialized_start=1459 + _globals['_STRINGNOTIPV4']._serialized_end=1501 + _globals['_STRINGIPV6']._serialized_start=1503 + _globals['_STRINGIPV6']._serialized_end=1543 + _globals['_STRINGNOTIPV6']._serialized_start=1545 + _globals['_STRINGNOTIPV6']._serialized_end=1588 + _globals['_STRINGIPWITHPREFIXLEN']._serialized_start=1590 + _globals['_STRINGIPWITHPREFIXLEN']._serialized_end=1641 + _globals['_STRINGNOTIPWITHPREFIXLEN']._serialized_start=1643 + _globals['_STRINGNOTIPWITHPREFIXLEN']._serialized_end=1697 + _globals['_STRINGIPV4WITHPREFIXLEN']._serialized_start=1699 + _globals['_STRINGIPV4WITHPREFIXLEN']._serialized_end=1752 + _globals['_STRINGNOTIPV4WITHPREFIXLEN']._serialized_start=1754 + _globals['_STRINGNOTIPV4WITHPREFIXLEN']._serialized_end=1810 + _globals['_STRINGIPV6WITHPREFIXLEN']._serialized_start=1812 + _globals['_STRINGIPV6WITHPREFIXLEN']._serialized_end=1865 + _globals['_STRINGNOTIPV6WITHPREFIXLEN']._serialized_start=1867 + _globals['_STRINGNOTIPV6WITHPREFIXLEN']._serialized_end=1923 + _globals['_STRINGIPPREFIX']._serialized_start=1925 + _globals['_STRINGIPPREFIX']._serialized_end=1969 + _globals['_STRINGNOTIPPREFIX']._serialized_start=1971 + _globals['_STRINGNOTIPPREFIX']._serialized_end=2018 + _globals['_STRINGIPV4PREFIX']._serialized_start=2020 + _globals['_STRINGIPV4PREFIX']._serialized_end=2066 + _globals['_STRINGNOTIPV4PREFIX']._serialized_start=2068 + _globals['_STRINGNOTIPV4PREFIX']._serialized_end=2117 + _globals['_STRINGIPV6PREFIX']._serialized_start=2119 + _globals['_STRINGIPV6PREFIX']._serialized_end=2165 + _globals['_STRINGNOTIPV6PREFIX']._serialized_start=2167 + _globals['_STRINGNOTIPV6PREFIX']._serialized_end=2216 + _globals['_STRINGURI']._serialized_start=2218 + _globals['_STRINGURI']._serialized_end=2257 + _globals['_STRINGNOTURI']._serialized_start=2259 + _globals['_STRINGNOTURI']._serialized_end=2301 + _globals['_STRINGURIREF']._serialized_start=2303 + _globals['_STRINGURIREF']._serialized_end=2345 + _globals['_STRINGNOTURIREF']._serialized_start=2347 + _globals['_STRINGNOTURIREF']._serialized_end=2392 + _globals['_STRINGUUID']._serialized_start=2394 + _globals['_STRINGUUID']._serialized_end=2434 + _globals['_STRINGNOTUUID']._serialized_start=2436 + _globals['_STRINGNOTUUID']._serialized_end=2479 + _globals['_STRINGTUUID']._serialized_start=2481 + _globals['_STRINGTUUID']._serialized_end=2522 + _globals['_STRINGNOTTUUID']._serialized_start=2524 + _globals['_STRINGNOTTUUID']._serialized_end=2568 + _globals['_STRINGHTTPHEADERNAME']._serialized_start=2570 + _globals['_STRINGHTTPHEADERNAME']._serialized_end=2620 + _globals['_STRINGHTTPHEADERVALUE']._serialized_start=2622 + _globals['_STRINGHTTPHEADERVALUE']._serialized_end=2673 + _globals['_STRINGHTTPHEADERNAMELOOSE']._serialized_start=2675 + _globals['_STRINGHTTPHEADERNAMELOOSE']._serialized_end=2733 + _globals['_STRINGHTTPHEADERVALUELOOSE']._serialized_start=2735 + _globals['_STRINGHTTPHEADERVALUELOOSE']._serialized_end=2794 + _globals['_STRINGUUIDIGNORE']._serialized_start=2796 + _globals['_STRINGUUIDIGNORE']._serialized_end=2845 + _globals['_STRINGINONEOF']._serialized_start=2847 + _globals['_STRINGINONEOF']._serialized_end=2902 + _globals['_STRINGHOSTANDPORT']._serialized_start=2904 + _globals['_STRINGHOSTANDPORT']._serialized_end=2951 + _globals['_STRINGHOSTANDOPTIONALPORT']._serialized_start=2954 + _globals['_STRINGHOSTANDOPTIONALPORT']._serialized_end=3118 + _globals['_STRINGEXAMPLE']._serialized_start=3120 + _globals['_STRINGEXAMPLE']._serialized_end=3166 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/cases/strings_pb2.pyi b/gen/buf/validate/conformance/cases/strings_pb2.pyi index d6718ca..373efcc 100644 --- a/gen/buf/validate/conformance/cases/strings_pb2.pyi +++ b/gen/buf/validate/conformance/cases/strings_pb2.pyi @@ -145,96 +145,192 @@ class StringEmail(_message.Message): val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotEmail(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringAddress(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotAddress(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringHostname(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotHostname(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIP(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIP(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIPv4(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIPv4(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIPv6(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIPv6(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIPWithPrefixLen(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIPWithPrefixLen(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIPv4WithPrefixLen(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIPv4WithPrefixLen(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIPv6WithPrefixLen(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIPv6WithPrefixLen(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIPPrefix(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIPPrefix(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIPv4Prefix(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIPv4Prefix(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringIPv6Prefix(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotIPv6Prefix(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringURI(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotURI(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringURIRef(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotURIRef(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringUUID(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotUUID(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringTUUID(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... +class StringNotTUUID(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class StringHttpHeaderName(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -282,3 +378,9 @@ class StringHostAndOptionalPort(_message.Message): VAL_FIELD_NUMBER: _ClassVar[int] val: str def __init__(self, val: _Optional[str] = ...) -> None: ... + +class StringExample(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... diff --git a/gen/buf/validate/conformance/cases/wkt_duration_pb2.py b/gen/buf/validate/conformance/cases/wkt_duration_pb2.py index 3236ab1..7bef4b6 100644 --- a/gen/buf/validate/conformance/cases/wkt_duration_pb2.py +++ b/gen/buf/validate/conformance/cases/wkt_duration_pb2.py @@ -40,7 +40,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1buf/validate/conformance/cases/wkt_duration.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\";\n\x0c\x44urationNone\x12+\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x03val\"G\n\x10\x44urationRequired\x12\x33\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x06\xbaH\x03\xc8\x01\x01R\x03val\"H\n\rDurationConst\x12\x37\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\n\xbaH\x07\xaa\x01\x04\x12\x02\x08\x03R\x03val\"J\n\nDurationIn\x12<\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0f\xbaH\x0c\xaa\x01\t:\x02\x08\x01:\x03\x10\xe8\x07R\x03val\"F\n\rDurationNotIn\x12\x35\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xbaH\x05\xaa\x01\x02\x42\x00R\x03val\"C\n\nDurationLT\x12\x35\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xbaH\x05\xaa\x01\x02\x1a\x00R\x03val\"F\n\x0b\x44urationLTE\x12\x37\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\n\xbaH\x07\xaa\x01\x04\"\x02\x08\x01R\x03val\"F\n\nDurationGT\x12\x38\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0b\xbaH\x08\xaa\x01\x05*\x03\x10\xe8\x07R\x03val\"H\n\x0b\x44urationGTE\x12\x39\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0c\xbaH\t\xaa\x01\x06\x32\x04\x10\xc0\x84=R\x03val\"I\n\x0c\x44urationGTLT\x12\x39\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0c\xbaH\t\xaa\x01\x06\x1a\x02\x08\x01*\x00R\x03val\"K\n\x0e\x44urationExLTGT\x12\x39\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0c\xbaH\t\xaa\x01\x06\x1a\x00*\x02\x08\x01R\x03val\"N\n\x0e\x44urationGTELTE\x12<\n\x03val\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0f\xbaH\x0c\xaa\x01\t\"\x03\x08\x90\x1c\x32\x02\x08 None: ... + +class DurationExample(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _duration_pb2.Duration + def __init__(self, val: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... diff --git a/gen/buf/validate/conformance/cases/wkt_timestamp_pb2.py b/gen/buf/validate/conformance/cases/wkt_timestamp_pb2.py index 99260c3..69030ef 100644 --- a/gen/buf/validate/conformance/cases/wkt_timestamp_pb2.py +++ b/gen/buf/validate/conformance/cases/wkt_timestamp_pb2.py @@ -40,7 +40,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2buf/validate/conformance/cases/wkt_timestamp.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"=\n\rTimestampNone\x12,\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x03val\"I\n\x11TimestampRequired\x12\x34\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x06\xbaH\x03\xc8\x01\x01R\x03val\"J\n\x0eTimestampConst\x12\x38\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xbaH\x07\xb2\x01\x04\x12\x02\x08\x03R\x03val\"E\n\x0bTimestampLT\x12\x36\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xbaH\x05\xb2\x01\x02\x1a\x00R\x03val\"H\n\x0cTimestampLTE\x12\x38\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xbaH\x07\xb2\x01\x04\"\x02\x08\x01R\x03val\"H\n\x0bTimestampGT\x12\x39\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0b\xbaH\x08\xb2\x01\x05*\x03\x10\xe8\x07R\x03val\"J\n\x0cTimestampGTE\x12:\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0c\xbaH\t\xb2\x01\x06\x32\x04\x10\xc0\x84=R\x03val\"K\n\rTimestampGTLT\x12:\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0c\xbaH\t\xb2\x01\x06\x1a\x02\x08\x01*\x00R\x03val\"M\n\x0fTimestampExLTGT\x12:\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0c\xbaH\t\xb2\x01\x06\x1a\x00*\x02\x08\x01R\x03val\"P\n\x0fTimestampGTELTE\x12=\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\xbaH\x0c\xb2\x01\t\"\x03\x08\x90\x1c\x32\x02\x08 None: ... +class TimestampNotLTNow(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _timestamp_pb2.Timestamp + def __init__(self, val: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class TimestampGTNow(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] val: _timestamp_pb2.Timestamp def __init__(self, val: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... +class TimestampNotGTNow(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _timestamp_pb2.Timestamp + def __init__(self, val: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class TimestampWithin(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] @@ -115,3 +127,9 @@ class TimestampGTNowWithin(_message.Message): VAL_FIELD_NUMBER: _ClassVar[int] val: _timestamp_pb2.Timestamp def __init__(self, val: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class TimestampExample(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: _timestamp_pb2.Timestamp + def __init__(self, val: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... diff --git a/gen/buf/validate/conformance/harness/harness_pb2.py b/gen/buf/validate/conformance/harness/harness_pb2.py index 355dcfe..ced5364 100644 --- a/gen/buf/validate/conformance/harness/harness_pb2.py +++ b/gen/buf/validate/conformance/harness/harness_pb2.py @@ -36,12 +36,12 @@ _sym_db = _symbol_database.Default() -from buf.validate import expression_pb2 as buf_dot_validate_dot_expression__pb2 +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.buf/validate/conformance/harness/harness.proto\x12 buf.validate.conformance.harness\x1a\x1d\x62uf/validate/expression.proto\x1a\x19google/protobuf/any.proto\x1a google/protobuf/descriptor.proto\"\xfd\x01\n\x16TestConformanceRequest\x12\x38\n\x05\x66\x64set\x18\x02 \x01(\x0b\x32\".google.protobuf.FileDescriptorSetR\x05\x66\x64set\x12Y\n\x05\x63\x61ses\x18\x03 \x03(\x0b\x32\x43.buf.validate.conformance.harness.TestConformanceRequest.CasesEntryR\x05\x63\x61ses\x1aN\n\nCasesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x05value:\x02\x38\x01\"\xe5\x01\n\x17TestConformanceResponse\x12`\n\x07results\x18\x01 \x03(\x0b\x32\x46.buf.validate.conformance.harness.TestConformanceResponse.ResultsEntryR\x07results\x1ah\n\x0cResultsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x42\n\x05value\x18\x02 \x01(\x0b\x32,.buf.validate.conformance.harness.TestResultR\x05value:\x02\x38\x01\"\xfc\x01\n\nTestResult\x12\x1a\n\x07success\x18\x01 \x01(\x08H\x00R\x07success\x12\x45\n\x10validation_error\x18\x02 \x01(\x0b\x32\x18.buf.validate.ViolationsH\x00R\x0fvalidationError\x12-\n\x11\x63ompilation_error\x18\x03 \x01(\tH\x00R\x10\x63ompilationError\x12%\n\rruntime_error\x18\x04 \x01(\tH\x00R\x0cruntimeError\x12+\n\x10unexpected_error\x18\x05 \x01(\tH\x00R\x0funexpectedErrorB\x08\n\x06resultb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.buf/validate/conformance/harness/harness.proto\x12 buf.validate.conformance.harness\x1a\x1b\x62uf/validate/validate.proto\x1a\x19google/protobuf/any.proto\x1a google/protobuf/descriptor.proto\"\xfd\x01\n\x16TestConformanceRequest\x12\x38\n\x05\x66\x64set\x18\x02 \x01(\x0b\x32\".google.protobuf.FileDescriptorSetR\x05\x66\x64set\x12Y\n\x05\x63\x61ses\x18\x03 \x03(\x0b\x32\x43.buf.validate.conformance.harness.TestConformanceRequest.CasesEntryR\x05\x63\x61ses\x1aN\n\nCasesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x05value:\x02\x38\x01\"\xe5\x01\n\x17TestConformanceResponse\x12`\n\x07results\x18\x01 \x03(\x0b\x32\x46.buf.validate.conformance.harness.TestConformanceResponse.ResultsEntryR\x07results\x1ah\n\x0cResultsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x42\n\x05value\x18\x02 \x01(\x0b\x32,.buf.validate.conformance.harness.TestResultR\x05value:\x02\x38\x01\"\xfc\x01\n\nTestResult\x12\x1a\n\x07success\x18\x01 \x01(\x08H\x00R\x07success\x12\x45\n\x10validation_error\x18\x02 \x01(\x0b\x32\x18.buf.validate.ViolationsH\x00R\x0fvalidationError\x12-\n\x11\x63ompilation_error\x18\x03 \x01(\tH\x00R\x10\x63ompilationError\x12%\n\rruntime_error\x18\x04 \x01(\tH\x00R\x0cruntimeError\x12+\n\x10unexpected_error\x18\x05 \x01(\tH\x00R\x0funexpectedErrorB\x08\n\x06resultb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -52,14 +52,14 @@ _globals['_TESTCONFORMANCEREQUEST_CASESENTRY']._serialized_options = b'8\001' _globals['_TESTCONFORMANCERESPONSE_RESULTSENTRY']._loaded_options = None _globals['_TESTCONFORMANCERESPONSE_RESULTSENTRY']._serialized_options = b'8\001' - _globals['_TESTCONFORMANCEREQUEST']._serialized_start=177 - _globals['_TESTCONFORMANCEREQUEST']._serialized_end=430 - _globals['_TESTCONFORMANCEREQUEST_CASESENTRY']._serialized_start=352 - _globals['_TESTCONFORMANCEREQUEST_CASESENTRY']._serialized_end=430 - _globals['_TESTCONFORMANCERESPONSE']._serialized_start=433 - _globals['_TESTCONFORMANCERESPONSE']._serialized_end=662 - _globals['_TESTCONFORMANCERESPONSE_RESULTSENTRY']._serialized_start=558 - _globals['_TESTCONFORMANCERESPONSE_RESULTSENTRY']._serialized_end=662 - _globals['_TESTRESULT']._serialized_start=665 - _globals['_TESTRESULT']._serialized_end=917 + _globals['_TESTCONFORMANCEREQUEST']._serialized_start=175 + _globals['_TESTCONFORMANCEREQUEST']._serialized_end=428 + _globals['_TESTCONFORMANCEREQUEST_CASESENTRY']._serialized_start=350 + _globals['_TESTCONFORMANCEREQUEST_CASESENTRY']._serialized_end=428 + _globals['_TESTCONFORMANCERESPONSE']._serialized_start=431 + _globals['_TESTCONFORMANCERESPONSE']._serialized_end=660 + _globals['_TESTCONFORMANCERESPONSE_RESULTSENTRY']._serialized_start=556 + _globals['_TESTCONFORMANCERESPONSE_RESULTSENTRY']._serialized_end=660 + _globals['_TESTRESULT']._serialized_start=663 + _globals['_TESTRESULT']._serialized_end=915 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/conformance/harness/harness_pb2.pyi b/gen/buf/validate/conformance/harness/harness_pb2.pyi index 6fb85ef..39b88d0 100644 --- a/gen/buf/validate/conformance/harness/harness_pb2.pyi +++ b/gen/buf/validate/conformance/harness/harness_pb2.pyi @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from buf.validate import expression_pb2 as _expression_pb2 +from buf.validate import validate_pb2 as _validate_pb2 from google.protobuf import any_pb2 as _any_pb2 from google.protobuf import descriptor_pb2 as _descriptor_pb2 from google.protobuf.internal import containers as _containers @@ -58,8 +58,8 @@ class TestResult(_message.Message): RUNTIME_ERROR_FIELD_NUMBER: _ClassVar[int] UNEXPECTED_ERROR_FIELD_NUMBER: _ClassVar[int] success: bool - validation_error: _expression_pb2.Violations + validation_error: _validate_pb2.Violations compilation_error: str runtime_error: str unexpected_error: str - def __init__(self, success: bool = ..., validation_error: _Optional[_Union[_expression_pb2.Violations, _Mapping]] = ..., compilation_error: _Optional[str] = ..., runtime_error: _Optional[str] = ..., unexpected_error: _Optional[str] = ...) -> None: ... + def __init__(self, success: bool = ..., validation_error: _Optional[_Union[_validate_pb2.Violations, _Mapping]] = ..., compilation_error: _Optional[str] = ..., runtime_error: _Optional[str] = ..., unexpected_error: _Optional[str] = ...) -> None: ... diff --git a/gen/buf/validate/expression_pb2.py b/gen/buf/validate/expression_pb2.py deleted file mode 100644 index 87f4c3b..0000000 --- a/gen/buf/validate/expression_pb2.py +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2023 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: buf/validate/expression.proto -# Protobuf Python Version: 5.27.2 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 2, - '', - 'buf/validate/expression.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x62uf/validate/expression.proto\x12\x0c\x62uf.validate\"V\n\nConstraint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression\"E\n\nViolations\x12\x37\n\nviolations\x18\x01 \x03(\x0b\x32\x17.buf.validate.ViolationR\nviolations\"\x82\x01\n\tViolation\x12\x1d\n\nfield_path\x18\x01 \x01(\tR\tfieldPath\x12#\n\rconstraint_id\x18\x02 \x01(\tR\x0c\x63onstraintId\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x17\n\x07\x66or_key\x18\x04 \x01(\x08R\x06\x66orKeyBp\n\x12\x62uild.buf.validateB\x0f\x45xpressionProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validateb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.expression_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\022build.buf.validateB\017ExpressionProtoP\001ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate' - _globals['_CONSTRAINT']._serialized_start=47 - _globals['_CONSTRAINT']._serialized_end=133 - _globals['_VIOLATIONS']._serialized_start=135 - _globals['_VIOLATIONS']._serialized_end=204 - _globals['_VIOLATION']._serialized_start=207 - _globals['_VIOLATION']._serialized_end=337 -# @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/expression_pb2.pyi b/gen/buf/validate/expression_pb2.pyi deleted file mode 100644 index fd25f00..0000000 --- a/gen/buf/validate/expression_pb2.pyi +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 2023 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from google.protobuf.internal import containers as _containers -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union - -DESCRIPTOR: _descriptor.FileDescriptor - -class Constraint(_message.Message): - __slots__ = ("id", "message", "expression") - ID_FIELD_NUMBER: _ClassVar[int] - MESSAGE_FIELD_NUMBER: _ClassVar[int] - EXPRESSION_FIELD_NUMBER: _ClassVar[int] - id: str - message: str - expression: str - def __init__(self, id: _Optional[str] = ..., message: _Optional[str] = ..., expression: _Optional[str] = ...) -> None: ... - -class Violations(_message.Message): - __slots__ = ("violations",) - VIOLATIONS_FIELD_NUMBER: _ClassVar[int] - violations: _containers.RepeatedCompositeFieldContainer[Violation] - def __init__(self, violations: _Optional[_Iterable[_Union[Violation, _Mapping]]] = ...) -> None: ... - -class Violation(_message.Message): - __slots__ = ("field_path", "constraint_id", "message", "for_key") - FIELD_PATH_FIELD_NUMBER: _ClassVar[int] - CONSTRAINT_ID_FIELD_NUMBER: _ClassVar[int] - MESSAGE_FIELD_NUMBER: _ClassVar[int] - FOR_KEY_FIELD_NUMBER: _ClassVar[int] - field_path: str - constraint_id: str - message: str - for_key: bool - def __init__(self, field_path: _Optional[str] = ..., constraint_id: _Optional[str] = ..., message: _Optional[str] = ..., for_key: bool = ...) -> None: ... diff --git a/gen/buf/validate/priv/private_pb2.py b/gen/buf/validate/priv/private_pb2.py deleted file mode 100644 index a19d5b7..0000000 --- a/gen/buf/validate/priv/private_pb2.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2023 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: buf/validate/priv/private.proto -# Protobuf Python Version: 5.27.2 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 27, - 2, - '', - 'buf/validate/priv/private.proto' -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x62uf/validate/priv/private.proto\x12\x11\x62uf.validate.priv\x1a google/protobuf/descriptor.proto\"C\n\x10\x46ieldConstraints\x12/\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x1d.buf.validate.priv.ConstraintR\x03\x63\x65l\"V\n\nConstraint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression:\\\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32#.buf.validate.priv.FieldConstraintsR\x05\x66ield\x88\x01\x01\x42w\n\x17\x62uild.buf.validate.privB\x0cPrivateProtoP\x01ZLbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/privb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.priv.private_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\027build.buf.validate.privB\014PrivateProtoP\001ZLbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/priv' - _globals['_FIELDCONSTRAINTS']._serialized_start=88 - _globals['_FIELDCONSTRAINTS']._serialized_end=155 - _globals['_CONSTRAINT']._serialized_start=157 - _globals['_CONSTRAINT']._serialized_end=243 -# @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/priv/private_pb2.pyi b/gen/buf/validate/priv/private_pb2.pyi deleted file mode 100644 index fe28949..0000000 --- a/gen/buf/validate/priv/private_pb2.pyi +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2023 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from google.protobuf import descriptor_pb2 as _descriptor_pb2 -from google.protobuf.internal import containers as _containers -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union - -DESCRIPTOR: _descriptor.FileDescriptor -FIELD_FIELD_NUMBER: _ClassVar[int] -field: _descriptor.FieldDescriptor - -class FieldConstraints(_message.Message): - __slots__ = ("cel",) - CEL_FIELD_NUMBER: _ClassVar[int] - cel: _containers.RepeatedCompositeFieldContainer[Constraint] - def __init__(self, cel: _Optional[_Iterable[_Union[Constraint, _Mapping]]] = ...) -> None: ... - -class Constraint(_message.Message): - __slots__ = ("id", "message", "expression") - ID_FIELD_NUMBER: _ClassVar[int] - MESSAGE_FIELD_NUMBER: _ClassVar[int] - EXPRESSION_FIELD_NUMBER: _ClassVar[int] - id: str - message: str - expression: str - def __init__(self, id: _Optional[str] = ..., message: _Optional[str] = ..., expression: _Optional[str] = ...) -> None: ... diff --git a/gen/buf/validate/validate_pb2.py b/gen/buf/validate/validate_pb2.py index 37fe6be..e79b959 100644 --- a/gen/buf/validate/validate_pb2.py +++ b/gen/buf/validate/validate_pb2.py @@ -36,14 +36,12 @@ _sym_db = _symbol_database.Default() -from buf.validate import expression_pb2 as buf_dot_validate_dot_expression__pb2 -from buf.validate.priv import private_pb2 as buf_dot_validate_dot_priv_dot_private__pb2 from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62uf/validate/validate.proto\x12\x0c\x62uf.validate\x1a\x1d\x62uf/validate/expression.proto\x1a\x1f\x62uf/validate/priv/private.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"n\n\x12MessageConstraints\x12\x1f\n\x08\x64isabled\x18\x01 \x01(\x08H\x00R\x08\x64isabled\x88\x01\x01\x12*\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65lB\x0b\n\t_disabled\"@\n\x10OneofConstraints\x12\x1f\n\x08required\x18\x01 \x01(\x08H\x00R\x08required\x88\x01\x01\x42\x0b\n\t_required\"\xab\n\n\x10\x46ieldConstraints\x12*\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\x12\x1a\n\x08required\x18\x19 \x01(\x08R\x08required\x12,\n\x06ignore\x18\x1b \x01(\x0e\x32\x14.buf.validate.IgnoreR\x06ignore\x12\x30\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x18.buf.validate.FloatRulesH\x00R\x05\x66loat\x12\x33\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x19.buf.validate.DoubleRulesH\x00R\x06\x64ouble\x12\x30\n\x05int32\x18\x03 \x01(\x0b\x32\x18.buf.validate.Int32RulesH\x00R\x05int32\x12\x30\n\x05int64\x18\x04 \x01(\x0b\x32\x18.buf.validate.Int64RulesH\x00R\x05int64\x12\x33\n\x06uint32\x18\x05 \x01(\x0b\x32\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x12\x33\n\x06uint64\x18\x06 \x01(\x0b\x32\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x12\x33\n\x06sint32\x18\x07 \x01(\x0b\x32\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x12\x33\n\x06sint64\x18\x08 \x01(\x0b\x32\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x12\x36\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x1a.buf.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x36\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x1a.buf.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x39\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x1b.buf.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x39\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x1b.buf.validate.SFixed64RulesH\x00R\x08sfixed64\x12-\n\x04\x62ool\x18\r \x01(\x0b\x32\x17.buf.validate.BoolRulesH\x00R\x04\x62ool\x12\x33\n\x06string\x18\x0e \x01(\x0b\x32\x19.buf.validate.StringRulesH\x00R\x06string\x12\x30\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x18.buf.validate.BytesRulesH\x00R\x05\x62ytes\x12-\n\x04\x65num\x18\x10 \x01(\x0b\x32\x17.buf.validate.EnumRulesH\x00R\x04\x65num\x12\x39\n\x08repeated\x18\x12 \x01(\x0b\x32\x1b.buf.validate.RepeatedRulesH\x00R\x08repeated\x12*\n\x03map\x18\x13 \x01(\x0b\x32\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x16.buf.validate.AnyRulesH\x00R\x03\x61ny\x12\x39\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x1b.buf.validate.DurationRulesH\x00R\x08\x64uration\x12<\n\ttimestamp\x18\x16 \x01(\x0b\x32\x1c.buf.validate.TimestampRulesH\x00R\ttimestamp\x12\x1c\n\x07skipped\x18\x18 \x01(\x08\x42\x02\x18\x01R\x07skipped\x12%\n\x0cignore_empty\x18\x1a \x01(\x08\x42\x02\x18\x01R\x0bignoreEmptyB\x06\n\x04type\"\xa2\x17\n\nFloatRules\x12u\n\x05\x63onst\x18\x01 \x01(\x02\x42Z\xc2HW\nU\n\x0b\x66loat.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\xa3\x01\n\x02lt\x18\x02 \x01(\x02\x42\x90\x01\xc2H\x8c\x01\n\x89\x01\n\x08\x66loat.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb4\x01\n\x03lte\x18\x03 \x01(\x02\x42\x9f\x01\xc2H\x9b\x01\n\x98\x01\n\tfloat.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf3\x07\n\x02gt\x18\x04 \x01(\x02\x42\xe0\x07\xc2H\xdc\x07\n\x8d\x01\n\x08\x66loat.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc3\x01\n\x0b\x66loat.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xcd\x01\n\x15\x66loat.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd3\x01\n\x0c\x66loat.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xdd\x01\n\x16\x66loat.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xbf\x08\n\x03gte\x18\x05 \x01(\x02\x42\xaa\x08\xc2H\xa6\x08\n\x9b\x01\n\tfloat.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd2\x01\n\x0c\x66loat.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdc\x01\n\x16\x66loat.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe2\x01\n\rfloat.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xec\x01\n\x17\x66loat.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x02\x42i\xc2Hf\nd\n\x08\x66loat.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x02\x42\x66\xc2Hc\na\n\x0c\x66loat.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12g\n\x06\x66inite\x18\x08 \x01(\x08\x42O\xc2HL\nJ\n\x0c\x66loat.finite\x1a:this.isNan() || this.isInf() ? \'value must be finite\' : \'\'R\x06\x66initeB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\xb3\x17\n\x0b\x44oubleRules\x12v\n\x05\x63onst\x18\x01 \x01(\x01\x42[\xc2HX\nV\n\x0c\x64ouble.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\xa4\x01\n\x02lt\x18\x02 \x01(\x01\x42\x91\x01\xc2H\x8d\x01\n\x8a\x01\n\tdouble.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb5\x01\n\x03lte\x18\x03 \x01(\x01\x42\xa0\x01\xc2H\x9c\x01\n\x99\x01\n\ndouble.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf8\x07\n\x02gt\x18\x04 \x01(\x01\x42\xe5\x07\xc2H\xe1\x07\n\x8e\x01\n\tdouble.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc4\x01\n\x0c\x64ouble.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xce\x01\n\x16\x64ouble.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd4\x01\n\rdouble.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xde\x01\n\x17\x64ouble.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xc4\x08\n\x03gte\x18\x05 \x01(\x01\x42\xaf\x08\xc2H\xab\x08\n\x9c\x01\n\ndouble.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd3\x01\n\rdouble.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdd\x01\n\x17\x64ouble.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe3\x01\n\x0e\x64ouble.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xed\x01\n\x18\x64ouble.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x01\x42j\xc2Hg\ne\n\tdouble.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x01\x42g\xc2Hd\nb\n\rdouble.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12h\n\x06\x66inite\x18\x08 \x01(\x08\x42P\xc2HM\nK\n\rdouble.finite\x1a:this.isNan() || this.isInf() ? \'value must be finite\' : \'\'R\x06\x66initeB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\xe2\x14\n\nInt32Rules\x12u\n\x05\x63onst\x18\x01 \x01(\x05\x42Z\xc2HW\nU\n\x0bint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x05\x42|\xc2Hy\nw\n\x08int32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x05\x42\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x05\x42\x88\x07\xc2H\x84\x07\nz\n\x08int32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x05\x42\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x05\x42i\xc2Hf\nd\n\x08int32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x05\x42\x66\xc2Hc\na\n\x0cint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\xe2\x14\n\nInt64Rules\x12u\n\x05\x63onst\x18\x01 \x01(\x03\x42Z\xc2HW\nU\n\x0bint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x03\x42|\xc2Hy\nw\n\x08int64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x03\x42\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x03\x42\x88\x07\xc2H\x84\x07\nz\n\x08int64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x03\x42\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x03\x42i\xc2Hf\nd\n\x08int64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x03\x42\x66\xc2Hc\na\n\x0cint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\xf2\x14\n\x0bUInt32Rules\x12v\n\x05\x63onst\x18\x01 \x01(\rB[\xc2HX\nV\n\x0cuint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x8f\x01\n\x02lt\x18\x02 \x01(\rB}\xc2Hz\nx\n\tuint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\rB\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\rB\x8d\x07\xc2H\x89\x07\n{\n\tuint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\rB\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\rBj\xc2Hg\ne\n\tuint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\rBg\xc2Hd\nb\n\ruint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\xf2\x14\n\x0bUInt64Rules\x12v\n\x05\x63onst\x18\x01 \x01(\x04\x42[\xc2HX\nV\n\x0cuint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x04\x42}\xc2Hz\nx\n\tuint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x04\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x04\x42\x8d\x07\xc2H\x89\x07\n{\n\tuint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x04\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x04\x42j\xc2Hg\ne\n\tuint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x04\x42g\xc2Hd\nb\n\ruint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\xf2\x14\n\x0bSInt32Rules\x12v\n\x05\x63onst\x18\x01 \x01(\x11\x42[\xc2HX\nV\n\x0csint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x11\x42}\xc2Hz\nx\n\tsint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x11\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x11\x42\x8d\x07\xc2H\x89\x07\n{\n\tsint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x11\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x11\x42j\xc2Hg\ne\n\tsint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x11\x42g\xc2Hd\nb\n\rsint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\xf2\x14\n\x0bSInt64Rules\x12v\n\x05\x63onst\x18\x01 \x01(\x12\x42[\xc2HX\nV\n\x0csint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x12\x42}\xc2Hz\nx\n\tsint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x12\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x12\x42\x8d\x07\xc2H\x89\x07\n{\n\tsint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x12\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x12\x42j\xc2Hg\ne\n\tsint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x12\x42g\xc2Hd\nb\n\rsint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\x82\x15\n\x0c\x46ixed32Rules\x12w\n\x05\x63onst\x18\x01 \x01(\x07\x42\\\xc2HY\nW\n\rfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x90\x01\n\x02lt\x18\x02 \x01(\x07\x42~\xc2H{\ny\n\nfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x07\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x07\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17\x66ixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0e\x66ixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18\x66ixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x07\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0e\x66ixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18\x66ixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0f\x66ixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19\x66ixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12{\n\x02in\x18\x06 \x03(\x07\x42k\xc2Hh\nf\n\nfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x07\x42h\xc2He\nc\n\x0e\x66ixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\x82\x15\n\x0c\x46ixed64Rules\x12w\n\x05\x63onst\x18\x01 \x01(\x06\x42\\\xc2HY\nW\n\rfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x90\x01\n\x02lt\x18\x02 \x01(\x06\x42~\xc2H{\ny\n\nfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x06\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x06\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17\x66ixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0e\x66ixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18\x66ixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x06\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0e\x66ixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18\x66ixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0f\x66ixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19\x66ixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12{\n\x02in\x18\x06 \x03(\x06\x42k\xc2Hh\nf\n\nfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x06\x42h\xc2He\nc\n\x0e\x66ixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\x93\x15\n\rSFixed32Rules\x12x\n\x05\x63onst\x18\x01 \x01(\x0f\x42]\xc2HZ\nX\n\x0esfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x91\x01\n\x02lt\x18\x02 \x01(\x0f\x42\x7f\xc2H|\nz\n\x0bsfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x0f\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x0f\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x0f\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12|\n\x02in\x18\x06 \x03(\x0f\x42l\xc2Hi\ng\n\x0bsfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x0f\x42i\xc2Hf\nd\n\x0fsfixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\x93\x15\n\rSFixed64Rules\x12x\n\x05\x63onst\x18\x01 \x01(\x10\x42]\xc2HZ\nX\n\x0esfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\x91\x01\n\x02lt\x18\x02 \x01(\x10\x42\x7f\xc2H|\nz\n\x0bsfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x10\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x10\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x10\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12|\n\x02in\x18\x06 \x03(\x10\x42l\xc2Hi\ng\n\x0bsfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x10\x42i\xc2Hf\nd\n\x0fsfixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\x8b\x01\n\tBoolRules\x12t\n\x05\x63onst\x18\x01 \x01(\x08\x42Y\xc2HV\nT\n\nbool.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x00R\x05\x63onst\x88\x01\x01\x42\x08\n\x06_const\"\xae\x35\n\x0bStringRules\x12x\n\x05\x63onst\x18\x01 \x01(\tB]\xc2HZ\nX\n\x0cstring.const\x1aHthis != rules.const ? \'value must equal `%s`\'.format([rules.const]) : \'\'H\x01R\x05\x63onst\x88\x01\x01\x12\x88\x01\n\x03len\x18\x13 \x01(\x04\x42q\xc2Hn\nl\n\nstring.len\x1a^uint(this.size()) != rules.len ? \'value length must be %s characters\'.format([rules.len]) : \'\'H\x02R\x03len\x88\x01\x01\x12\xa6\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\x0estring.min_len\x1anuint(this.size()) < rules.min_len ? \'value length must be at least %s characters\'.format([rules.min_len]) : \'\'H\x03R\x06minLen\x88\x01\x01\x12\xa4\x01\n\x07max_len\x18\x03 \x01(\x04\x42\x85\x01\xc2H\x81\x01\n\x7f\n\x0estring.max_len\x1amuint(this.size()) > rules.max_len ? \'value length must be at most %s characters\'.format([rules.max_len]) : \'\'H\x04R\x06maxLen\x88\x01\x01\x12\xaa\x01\n\tlen_bytes\x18\x14 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\x10string.len_bytes\x1aluint(bytes(this).size()) != rules.len_bytes ? \'value length must be %s bytes\'.format([rules.len_bytes]) : \'\'H\x05R\x08lenBytes\x88\x01\x01\x12\xb2\x01\n\tmin_bytes\x18\x04 \x01(\x04\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x10string.min_bytes\x1atuint(bytes(this).size()) < rules.min_bytes ? \'value length must be at least %s bytes\'.format([rules.min_bytes]) : \'\'H\x06R\x08minBytes\x88\x01\x01\x12\xb1\x01\n\tmax_bytes\x18\x05 \x01(\x04\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x10string.max_bytes\x1asuint(bytes(this).size()) > rules.max_bytes ? \'value length must be at most %s bytes\'.format([rules.max_bytes]) : \'\'H\x07R\x08maxBytes\x88\x01\x01\x12\x9b\x01\n\x07pattern\x18\x06 \x01(\tB|\xc2Hy\nw\n\x0estring.pattern\x1a\x65!this.matches(rules.pattern) ? \'value does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'H\x08R\x07pattern\x88\x01\x01\x12\x91\x01\n\x06prefix\x18\x07 \x01(\tBt\xc2Hq\no\n\rstring.prefix\x1a^!this.startsWith(rules.prefix) ? \'value does not have prefix `%s`\'.format([rules.prefix]) : \'\'H\tR\x06prefix\x88\x01\x01\x12\x8f\x01\n\x06suffix\x18\x08 \x01(\tBr\xc2Ho\nm\n\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? \'value does not have suffix `%s`\'.format([rules.suffix]) : \'\'H\nR\x06suffix\x88\x01\x01\x12\x9f\x01\n\x08\x63ontains\x18\t \x01(\tB~\xc2H{\ny\n\x0fstring.contains\x1a\x66!this.contains(rules.contains) ? \'value does not contain substring `%s`\'.format([rules.contains]) : \'\'H\x0bR\x08\x63ontains\x88\x01\x01\x12\xaa\x01\n\x0cnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n|\n\x13string.not_contains\x1a\x65this.contains(rules.not_contains) ? \'value contains substring `%s`\'.format([rules.not_contains]) : \'\'H\x0cR\x0bnotContains\x88\x01\x01\x12z\n\x02in\x18\n \x03(\tBj\xc2Hg\ne\n\tstring.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x0b \x03(\tBg\xc2Hd\nb\n\rstring.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xc6\x01\n\x05\x65mail\x18\x0c \x01(\x08\x42\xad\x01\xc2H\xa9\x01\nQ\n\x0cstring.email\x12#value must be a valid email address\x1a\x1cthis == \'\' || this.isEmail()\nT\n\x12string.email_empty\x12\x32value is empty, which is not a valid email address\x1a\nthis != \'\'H\x00R\x05\x65mail\x12\xcb\x01\n\x08hostname\x18\r \x01(\x08\x42\xac\x01\xc2H\xa8\x01\nR\n\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a\x1fthis == \'\' || this.isHostname()\nR\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\nthis != \'\'H\x00R\x08hostname\x12\xb1\x01\n\x02ip\x18\x0e \x01(\x08\x42\x9e\x01\xc2H\x9a\x01\nH\n\tstring.ip\x12 value must be a valid IP address\x1a\x19this == \'\' || this.isIp()\nN\n\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\nthis != \'\'H\x00R\x02ip\x12\xbe\x01\n\x04ipv4\x18\x0f \x01(\x08\x42\xa7\x01\xc2H\xa3\x01\nM\n\x0bstring.ipv4\x12\"value must be a valid IPv4 address\x1a\x1athis == \'\' || this.isIp(4)\nR\n\x11string.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\nthis != \'\'H\x00R\x04ipv4\x12\xbe\x01\n\x04ipv6\x18\x10 \x01(\x08\x42\xa7\x01\xc2H\xa3\x01\nM\n\x0bstring.ipv6\x12\"value must be a valid IPv6 address\x1a\x1athis == \'\' || this.isIp(6)\nR\n\x11string.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\nthis != \'\'H\x00R\x04ipv6\x12\xa8\x01\n\x03uri\x18\x11 \x01(\x08\x42\x93\x01\xc2H\x8f\x01\nC\n\nstring.uri\x12\x19value must be a valid URI\x1a\x1athis == \'\' || this.isUri()\nH\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\nthis != \'\'H\x00R\x03uri\x12\\\n\x07uri_ref\x18\x12 \x01(\x08\x42\x41\xc2H>\n<\n\x0estring.uri_ref\x12\x19value must be a valid URI\x1a\x0fthis.isUriRef()H\x00R\x06uriRef\x12\xf4\x01\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08\x42\xd7\x01\xc2H\xd3\x01\no\n\x0estring.address\x12-value must be a valid hostname, or ip address\x1a.this == \'\' || this.isHostname() || this.isIp()\n`\n\x14string.address_empty\x12 rules.max_len ? \'value must be at most %s bytes\'.format([rules.max_len]) : \'\'H\x04R\x06maxLen\x88\x01\x01\x12\x9e\x01\n\x07pattern\x18\x04 \x01(\tB\x7f\xc2H|\nz\n\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? \'value must match regex pattern `%s`\'.format([rules.pattern]) : \'\'H\x05R\x07pattern\x88\x01\x01\x12\x8e\x01\n\x06prefix\x18\x05 \x01(\x0c\x42q\xc2Hn\nl\n\x0c\x62ytes.prefix\x1a\\!this.startsWith(rules.prefix) ? \'value does not have prefix %x\'.format([rules.prefix]) : \'\'H\x06R\x06prefix\x88\x01\x01\x12\x8c\x01\n\x06suffix\x18\x06 \x01(\x0c\x42o\xc2Hl\nj\n\x0c\x62ytes.suffix\x1aZ!this.endsWith(rules.suffix) ? \'value does not have suffix %x\'.format([rules.suffix]) : \'\'H\x07R\x06suffix\x88\x01\x01\x12\x92\x01\n\x08\x63ontains\x18\x07 \x01(\x0c\x42q\xc2Hn\nl\n\x0e\x62ytes.contains\x1aZ!this.contains(rules.contains) ? \'value does not contain %x\'.format([rules.contains]) : \'\'H\x08R\x08\x63ontains\x88\x01\x01\x12\x9b\x01\n\x02in\x18\x08 \x03(\x0c\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x08\x62ytes.in\x1awdyn(rules)[\'in\'].size() > 0 && !(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\t \x03(\x0c\x42\x66\xc2Hc\na\n\x0c\x62ytes.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xd5\x01\n\x02ip\x18\n \x01(\x08\x42\xc2\x01\xc2H\xbe\x01\ng\n\x08\x62ytes.ip\x12 value must be a valid IP address\x1a\x39this.size() == 0 || this.size() == 4 || this.size() == 16\nS\n\x0e\x62ytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x10this.size() != 0H\x00R\x02ip\x12\xcc\x01\n\x04ipv4\x18\x0b \x01(\x08\x42\xb5\x01\xc2H\xb1\x01\nV\n\nbytes.ipv4\x12\"value must be a valid IPv4 address\x1a$this.size() == 0 || this.size() == 4\nW\n\x10\x62ytes.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x10this.size() != 0H\x00R\x04ipv4\x12\xcd\x01\n\x04ipv6\x18\x0c \x01(\x08\x42\xb6\x01\xc2H\xb2\x01\nW\n\nbytes.ipv6\x12\"value must be a valid IPv6 address\x1a%this.size() == 0 || this.size() == 16\nW\n\x10\x62ytes.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x10this.size() != 0H\x00R\x04ipv6B\x0c\n\nwell_knownB\x08\n\x06_constB\x06\n\x04_lenB\n\n\x08_min_lenB\n\n\x08_max_lenB\n\n\x08_patternB\t\n\x07_prefixB\t\n\x07_suffixB\x0b\n\t_contains\"\xbc\x03\n\tEnumRules\x12t\n\x05\x63onst\x18\x01 \x01(\x05\x42Y\xc2HV\nT\n\nenum.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x00R\x05\x63onst\x88\x01\x01\x12&\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08H\x01R\x0b\x64\x65\x66inedOnly\x88\x01\x01\x12x\n\x02in\x18\x03 \x03(\x05\x42h\xc2He\nc\n\x07\x65num.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12|\n\x06not_in\x18\x04 \x03(\x05\x42\x65\xc2Hb\n`\n\x0b\x65num.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x08\n\x06_constB\x0f\n\r_defined_only\"\xcd\x04\n\rRepeatedRules\x12\xad\x01\n\tmin_items\x18\x01 \x01(\x04\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x12repeated.min_items\x1amuint(this.size()) < rules.min_items ? \'value must contain at least %d item(s)\'.format([rules.min_items]) : \'\'H\x00R\x08minItems\x88\x01\x01\x12\xb1\x01\n\tmax_items\x18\x02 \x01(\x04\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x12repeated.max_items\x1aquint(this.size()) > rules.max_items ? \'value must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'H\x01R\x08maxItems\x88\x01\x01\x12l\n\x06unique\x18\x03 \x01(\x08\x42O\xc2HL\nJ\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\rthis.unique()H\x02R\x06unique\x88\x01\x01\x12\x39\n\x05items\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsH\x03R\x05items\x88\x01\x01\x42\x0c\n\n_min_itemsB\x0c\n\n_max_itemsB\t\n\x07_uniqueB\x08\n\x06_items\"\xf1\x03\n\x08MapRules\x12\x9e\x01\n\tmin_pairs\x18\x01 \x01(\x04\x42|\xc2Hy\nw\n\rmap.min_pairs\x1a\x66uint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'H\x00R\x08minPairs\x88\x01\x01\x12\x9d\x01\n\tmax_pairs\x18\x02 \x01(\x04\x42{\xc2Hx\nv\n\rmap.max_pairs\x1a\x65uint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'H\x01R\x08maxPairs\x88\x01\x01\x12\x37\n\x04keys\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsH\x02R\x04keys\x88\x01\x01\x12;\n\x06values\x18\x05 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsH\x03R\x06values\x88\x01\x01\x42\x0c\n\n_min_pairsB\x0c\n\n_max_pairsB\x07\n\x05_keysB\t\n\x07_values\"1\n\x08\x41nyRules\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xd2\x16\n\rDurationRules\x12\x93\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB]\xc2HZ\nX\n\x0e\x64uration.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\xac\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x7f\xc2H|\nz\n\x0b\x64uration.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xbf\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0c\x64uration.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xc5\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x97\x07\xc2H\x93\x07\n}\n\x0b\x64uration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0e\x64uration.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18\x64uration.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0f\x64uration.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19\x64uration.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x92\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0c\x64uration.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0f\x64uration.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19\x64uration.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10\x64uration.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1a\x64uration.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x97\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBl\xc2Hi\ng\n\x0b\x64uration.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x9b\x01\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationBi\xc2Hf\nd\n\x0f\x64uration.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notInB\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_const\"\xca\x17\n\x0eTimestampRules\x12\x95\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB^\xc2H[\nY\n\x0ftimestamp.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'H\x02R\x05\x63onst\x88\x01\x01\x12\xaf\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n{\n\x0ctimestamp.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xc1\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x90\x01\xc2H\x8c\x01\n\x89\x01\n\rtimestamp.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x61\n\x06lt_now\x18\x07 \x01(\x08\x42H\xc2HE\nC\n\x10timestamp.lt_now\x1a/this > now ? \'value must be less than now\' : \'\'H\x00R\x05ltNow\x12\xcb\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x9c\x07\xc2H\x98\x07\n~\n\x0ctimestamp.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb7\x01\n\x0ftimestamp.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbf\x01\n\x19timestamp.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc7\x01\n\x10timestamp.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcf\x01\n\x1atimestamp.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x98\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xe7\x07\xc2H\xe3\x07\n\x8c\x01\n\rtimestamp.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc6\x01\n\x10timestamp.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xce\x01\n\x1atimestamp.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd6\x01\n\x11timestamp.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xde\x01\n\x1btimestamp.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x64\n\x06gt_now\x18\x08 \x01(\x08\x42K\xc2HH\nF\n\x10timestamp.gt_now\x1a\x32this < now ? \'value must be greater than now\' : \'\'H\x01R\x05gtNow\x12\xc5\x01\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationB\x8c\x01\xc2H\x88\x01\n\x85\x01\n\x10timestamp.within\x1aqthis < now-rules.within || this > now+rules.within ? \'value must be within %s of now\'.format([rules.within]) : \'\'H\x03R\x06within\x88\x01\x01\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_thanB\x08\n\x06_constB\t\n\x07_within*\x9d\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x19\n\x15IGNORE_IF_UNPOPULATED\x10\x01\x12\x1b\n\x17IGNORE_IF_DEFAULT_VALUE\x10\x02\x12\x11\n\rIGNORE_ALWAYS\x10\x03\x12\x14\n\x0cIGNORE_EMPTY\x10\x01\x1a\x02\x08\x01\x12\x16\n\x0eIGNORE_DEFAULT\x10\x02\x1a\x02\x08\x01\x1a\x02\x10\x01*n\n\nKnownRegex\x12\x1b\n\x17KNOWN_REGEX_UNSPECIFIED\x10\x00\x12 \n\x1cKNOWN_REGEX_HTTP_HEADER_NAME\x10\x01\x12!\n\x1dKNOWN_REGEX_HTTP_HEADER_VALUE\x10\x02:_\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32 .buf.validate.MessageConstraintsR\x07message\x88\x01\x01:W\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.OneofConstraintsR\x05oneof\x88\x01\x01:W\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05\x66ield\x88\x01\x01\x42n\n\x12\x62uild.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validateb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62uf/validate/validate.proto\x12\x0c\x62uf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"V\n\nConstraint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression\"\\\n\x12MessageConstraints\x12\x1a\n\x08\x64isabled\x18\x01 \x01(\x08R\x08\x64isabled\x12*\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\".\n\x10OneofConstraints\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xab\n\n\x10\x46ieldConstraints\x12*\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\x12\x1a\n\x08required\x18\x19 \x01(\x08R\x08required\x12,\n\x06ignore\x18\x1b \x01(\x0e\x32\x14.buf.validate.IgnoreR\x06ignore\x12\x30\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x18.buf.validate.FloatRulesH\x00R\x05\x66loat\x12\x33\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x19.buf.validate.DoubleRulesH\x00R\x06\x64ouble\x12\x30\n\x05int32\x18\x03 \x01(\x0b\x32\x18.buf.validate.Int32RulesH\x00R\x05int32\x12\x30\n\x05int64\x18\x04 \x01(\x0b\x32\x18.buf.validate.Int64RulesH\x00R\x05int64\x12\x33\n\x06uint32\x18\x05 \x01(\x0b\x32\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x12\x33\n\x06uint64\x18\x06 \x01(\x0b\x32\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x12\x33\n\x06sint32\x18\x07 \x01(\x0b\x32\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x12\x33\n\x06sint64\x18\x08 \x01(\x0b\x32\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x12\x36\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x1a.buf.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x36\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x1a.buf.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x39\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x1b.buf.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x39\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x1b.buf.validate.SFixed64RulesH\x00R\x08sfixed64\x12-\n\x04\x62ool\x18\r \x01(\x0b\x32\x17.buf.validate.BoolRulesH\x00R\x04\x62ool\x12\x33\n\x06string\x18\x0e \x01(\x0b\x32\x19.buf.validate.StringRulesH\x00R\x06string\x12\x30\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x18.buf.validate.BytesRulesH\x00R\x05\x62ytes\x12-\n\x04\x65num\x18\x10 \x01(\x0b\x32\x17.buf.validate.EnumRulesH\x00R\x04\x65num\x12\x39\n\x08repeated\x18\x12 \x01(\x0b\x32\x1b.buf.validate.RepeatedRulesH\x00R\x08repeated\x12*\n\x03map\x18\x13 \x01(\x0b\x32\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x16.buf.validate.AnyRulesH\x00R\x03\x61ny\x12\x39\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x1b.buf.validate.DurationRulesH\x00R\x08\x64uration\x12<\n\ttimestamp\x18\x16 \x01(\x0b\x32\x1c.buf.validate.TimestampRulesH\x00R\ttimestamp\x12\x1c\n\x07skipped\x18\x18 \x01(\x08\x42\x02\x18\x01R\x07skipped\x12%\n\x0cignore_empty\x18\x1a \x01(\x08\x42\x02\x18\x01R\x0bignoreEmptyB\x06\n\x04type\"C\n\x15PredefinedConstraints\x12*\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\"\xea\x17\n\nFloatRules\x12p\n\x05\x63onst\x18\x01 \x01(\x02\x42Z\xc2HW\nU\n\x0b\x66loat.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa3\x01\n\x02lt\x18\x02 \x01(\x02\x42\x90\x01\xc2H\x8c\x01\n\x89\x01\n\x08\x66loat.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb4\x01\n\x03lte\x18\x03 \x01(\x02\x42\x9f\x01\xc2H\x9b\x01\n\x98\x01\n\tfloat.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf3\x07\n\x02gt\x18\x04 \x01(\x02\x42\xe0\x07\xc2H\xdc\x07\n\x8d\x01\n\x08\x66loat.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc3\x01\n\x0b\x66loat.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xcd\x01\n\x15\x66loat.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd3\x01\n\x0c\x66loat.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xdd\x01\n\x16\x66loat.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xbf\x08\n\x03gte\x18\x05 \x01(\x02\x42\xaa\x08\xc2H\xa6\x08\n\x9b\x01\n\tfloat.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd2\x01\n\x0c\x66loat.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdc\x01\n\x16\x66loat.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe2\x01\n\rfloat.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xec\x01\n\x17\x66loat.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x02\x42i\xc2Hf\nd\n\x08\x66loat.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x02\x42\x66\xc2Hc\na\n\x0c\x66loat.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12}\n\x06\x66inite\x18\x08 \x01(\x08\x42\x65\xc2Hb\n`\n\x0c\x66loat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x34\n\x07\x65xample\x18\t \x03(\x02\x42\x1a\xc2H\x17\n\x15\n\rfloat.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xfc\x17\n\x0b\x44oubleRules\x12q\n\x05\x63onst\x18\x01 \x01(\x01\x42[\xc2HX\nV\n\x0c\x64ouble.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa4\x01\n\x02lt\x18\x02 \x01(\x01\x42\x91\x01\xc2H\x8d\x01\n\x8a\x01\n\tdouble.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb5\x01\n\x03lte\x18\x03 \x01(\x01\x42\xa0\x01\xc2H\x9c\x01\n\x99\x01\n\ndouble.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf8\x07\n\x02gt\x18\x04 \x01(\x01\x42\xe5\x07\xc2H\xe1\x07\n\x8e\x01\n\tdouble.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc4\x01\n\x0c\x64ouble.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xce\x01\n\x16\x64ouble.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd4\x01\n\rdouble.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xde\x01\n\x17\x64ouble.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xc4\x08\n\x03gte\x18\x05 \x01(\x01\x42\xaf\x08\xc2H\xab\x08\n\x9c\x01\n\ndouble.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd3\x01\n\rdouble.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdd\x01\n\x17\x64ouble.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe3\x01\n\x0e\x64ouble.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xed\x01\n\x18\x64ouble.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x01\x42j\xc2Hg\ne\n\tdouble.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x01\x42g\xc2Hd\nb\n\rdouble.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12~\n\x06\x66inite\x18\x08 \x01(\x08\x42\x66\xc2Hc\na\n\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x35\n\x07\x65xample\x18\t \x03(\x01\x42\x1b\xc2H\x18\n\x16\n\x0e\x64ouble.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt32Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x05\x42Z\xc2HW\nU\n\x0bint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x05\x42|\xc2Hy\nw\n\x08int32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x05\x42\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x05\x42\x88\x07\xc2H\x84\x07\nz\n\x08int32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x05\x42\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x05\x42i\xc2Hf\nd\n\x08int32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x05\x42\x66\xc2Hc\na\n\x0cint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\x08 \x03(\x05\x42\x1a\xc2H\x17\n\x15\n\rint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt64Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x03\x42Z\xc2HW\nU\n\x0bint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x03\x42|\xc2Hy\nw\n\x08int64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x03\x42\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x03\x42\x88\x07\xc2H\x84\x07\nz\n\x08int64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x03\x42\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12y\n\x02in\x18\x06 \x03(\x03\x42i\xc2Hf\nd\n\x08int64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x03\x42\x66\xc2Hc\na\n\x0cint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\t \x03(\x03\x42\x1a\xc2H\x17\n\x15\n\rint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\rB[\xc2HX\nV\n\x0cuint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\rB}\xc2Hz\nx\n\tuint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\rB\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\rB\x8d\x07\xc2H\x89\x07\n{\n\tuint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\rB\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\rBj\xc2Hg\ne\n\tuint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\rBg\xc2Hd\nb\n\ruint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\rB\x1b\xc2H\x18\n\x16\n\x0euint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x04\x42[\xc2HX\nV\n\x0cuint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x04\x42}\xc2Hz\nx\n\tuint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x04\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x04\x42\x8d\x07\xc2H\x89\x07\n{\n\tuint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x04\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x04\x42j\xc2Hg\ne\n\tuint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x04\x42g\xc2Hd\nb\n\ruint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x04\x42\x1b\xc2H\x18\n\x16\n\x0euint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x11\x42[\xc2HX\nV\n\x0csint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x11\x42}\xc2Hz\nx\n\tsint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x11\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x11\x42\x8d\x07\xc2H\x89\x07\n{\n\tsint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x11\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x11\x42j\xc2Hg\ne\n\tsint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x11\x42g\xc2Hd\nb\n\rsint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x11\x42\x1b\xc2H\x18\n\x16\n\x0esint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x12\x42[\xc2HX\nV\n\x0csint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x12\x42}\xc2Hz\nx\n\tsint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x12\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x12\x42\x8d\x07\xc2H\x89\x07\n{\n\tsint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x12\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12z\n\x02in\x18\x06 \x03(\x12\x42j\xc2Hg\ne\n\tsint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x12\x42g\xc2Hd\nb\n\rsint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x12\x42\x1b\xc2H\x18\n\x16\n\x0esint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed32Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x07\x42\\\xc2HY\nW\n\rfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x07\x42~\xc2H{\ny\n\nfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x07\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x07\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17\x66ixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0e\x66ixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18\x66ixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x07\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0e\x66ixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18\x66ixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0f\x66ixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19\x66ixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12{\n\x02in\x18\x06 \x03(\x07\x42k\xc2Hh\nf\n\nfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x07\x42h\xc2He\nc\n\x0e\x66ixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x07\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed64Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x06\x42\\\xc2HY\nW\n\rfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x06\x42~\xc2H{\ny\n\nfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x06\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x06\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17\x66ixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0e\x66ixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18\x66ixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x06\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0e\x66ixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18\x66ixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0f\x66ixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19\x66ixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12{\n\x02in\x18\x06 \x03(\x06\x42k\xc2Hh\nf\n\nfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x06\x42h\xc2He\nc\n\x0e\x66ixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x06\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed32Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x0f\x42]\xc2HZ\nX\n\x0esfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x0f\x42\x7f\xc2H|\nz\n\x0bsfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x0f\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x0f\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x0f\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12|\n\x02in\x18\x06 \x03(\x0f\x42l\xc2Hi\ng\n\x0bsfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x0f\x42i\xc2Hf\nd\n\x0fsfixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x0f\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed64Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x10\x42]\xc2HZ\nX\n\x0esfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x10\x42\x7f\xc2H|\nz\n\x0bsfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x10\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x10\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x10\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12|\n\x02in\x18\x06 \x03(\x10\x42l\xc2Hi\ng\n\x0bsfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x10\x42i\xc2Hf\nd\n\x0fsfixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x10\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xbc\x01\n\tBoolRules\x12o\n\x05\x63onst\x18\x01 \x01(\x08\x42Y\xc2HV\nT\n\nbool.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x33\n\x07\x65xample\x18\x02 \x03(\x08\x42\x19\xc2H\x16\n\x14\n\x0c\x62ool.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa1\x39\n\x0bStringRules\x12s\n\x05\x63onst\x18\x01 \x01(\tB]\xc2HZ\nX\n\x0cstring.const\x1aHthis != rules.const ? \'value must equal `%s`\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x83\x01\n\x03len\x18\x13 \x01(\x04\x42q\xc2Hn\nl\n\nstring.len\x1a^uint(this.size()) != rules.len ? \'value length must be %s characters\'.format([rules.len]) : \'\'R\x03len\x12\xa1\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\x0estring.min_len\x1anuint(this.size()) < rules.min_len ? \'value length must be at least %s characters\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x9f\x01\n\x07max_len\x18\x03 \x01(\x04\x42\x85\x01\xc2H\x81\x01\n\x7f\n\x0estring.max_len\x1amuint(this.size()) > rules.max_len ? \'value length must be at most %s characters\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\xa5\x01\n\tlen_bytes\x18\x14 \x01(\x04\x42\x87\x01\xc2H\x83\x01\n\x80\x01\n\x10string.len_bytes\x1aluint(bytes(this).size()) != rules.len_bytes ? \'value length must be %s bytes\'.format([rules.len_bytes]) : \'\'R\x08lenBytes\x12\xad\x01\n\tmin_bytes\x18\x04 \x01(\x04\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x10string.min_bytes\x1atuint(bytes(this).size()) < rules.min_bytes ? \'value length must be at least %s bytes\'.format([rules.min_bytes]) : \'\'R\x08minBytes\x12\xac\x01\n\tmax_bytes\x18\x05 \x01(\x04\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x10string.max_bytes\x1asuint(bytes(this).size()) > rules.max_bytes ? \'value length must be at most %s bytes\'.format([rules.max_bytes]) : \'\'R\x08maxBytes\x12\x96\x01\n\x07pattern\x18\x06 \x01(\tB|\xc2Hy\nw\n\x0estring.pattern\x1a\x65!this.matches(rules.pattern) ? \'value does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x8c\x01\n\x06prefix\x18\x07 \x01(\tBt\xc2Hq\no\n\rstring.prefix\x1a^!this.startsWith(rules.prefix) ? \'value does not have prefix `%s`\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x8a\x01\n\x06suffix\x18\x08 \x01(\tBr\xc2Ho\nm\n\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? \'value does not have suffix `%s`\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x9a\x01\n\x08\x63ontains\x18\t \x01(\tB~\xc2H{\ny\n\x0fstring.contains\x1a\x66!this.contains(rules.contains) ? \'value does not contain substring `%s`\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\xa5\x01\n\x0cnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n|\n\x13string.not_contains\x1a\x65this.contains(rules.not_contains) ? \'value contains substring `%s`\'.format([rules.not_contains]) : \'\'R\x0bnotContains\x12z\n\x02in\x18\n \x03(\tBj\xc2Hg\ne\n\tstring.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x0b \x03(\tBg\xc2Hd\nb\n\rstring.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xe6\x01\n\x05\x65mail\x18\x0c \x01(\x08\x42\xcd\x01\xc2H\xc9\x01\na\n\x0cstring.email\x12#value must be a valid email address\x1a,!rules.email || this == \'\' || this.isEmail()\nd\n\x12string.email_empty\x12\x32value is empty, which is not a valid email address\x1a\x1a!rules.email || this != \'\'H\x00R\x05\x65mail\x12\xf1\x01\n\x08hostname\x18\r \x01(\x08\x42\xd2\x01\xc2H\xce\x01\ne\n\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a\x32!rules.hostname || this == \'\' || this.isHostname()\ne\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != \'\'H\x00R\x08hostname\x12\xcb\x01\n\x02ip\x18\x0e \x01(\x08\x42\xb8\x01\xc2H\xb4\x01\nU\n\tstring.ip\x12 value must be a valid IP address\x1a&!rules.ip || this == \'\' || this.isIp()\n[\n\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x17!rules.ip || this != \'\'H\x00R\x02ip\x12\xdc\x01\n\x04ipv4\x18\x0f \x01(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv4\x12\"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\x11string.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x19!rules.ipv4 || this != \'\'H\x00R\x04ipv4\x12\xdc\x01\n\x04ipv6\x18\x10 \x01(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv6\x12\"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\x11string.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x19!rules.ipv6 || this != \'\'H\x00R\x04ipv6\x12\xc4\x01\n\x03uri\x18\x11 \x01(\x08\x42\xaf\x01\xc2H\xab\x01\nQ\n\nstring.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == \'\' || this.isUri()\nV\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != \'\'H\x00R\x03uri\x12n\n\x07uri_ref\x18\x12 \x01(\x08\x42S\xc2HP\nN\n\x0estring.uri_ref\x12\x19value must be a valid URI\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x99\x02\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08\x42\xfc\x01\xc2H\xf8\x01\n\x81\x01\n\x0estring.address\x12-value must be a valid hostname, or ip address\x1a@!rules.address || this == \'\' || this.isHostname() || this.isIp()\nr\n\x14string.address_empty\x12!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\x92\x01\n string.ipv4_with_prefixlen_empty\x12\x44value is empty, which is not a valid IPv4 address with prefix length\x1a(!rules.ipv4_with_prefixlen || this != \'\'H\x00R\x11ipv4WithPrefixlen\x12\xe2\x02\n\x13ipv6_with_prefixlen\x18\x1c \x01(\x08\x42\xaf\x02\xc2H\xab\x02\n\x93\x01\n\x1astring.ipv6_with_prefixlen\x12\x35value must be a valid IPv6 address with prefix length\x1a>!rules.ipv6_with_prefixlen || this == \'\' || this.isIpPrefix(6)\n\x92\x01\n string.ipv6_with_prefixlen_empty\x12\x44value is empty, which is not a valid IPv6 address with prefix length\x1a(!rules.ipv6_with_prefixlen || this != \'\'H\x00R\x11ipv6WithPrefixlen\x12\xfc\x01\n\tip_prefix\x18\x1d \x01(\x08\x42\xdc\x01\xc2H\xd8\x01\nl\n\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a\x37!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != \'\'H\x00R\x08ipPrefix\x12\x8f\x02\n\x0bipv4_prefix\x18\x1e \x01(\x08\x42\xeb\x01\xc2H\xe7\x01\nu\n\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\x1astring.host_and_port_empty\x12\x37value is empty, which is not a valid host and port pair\x1a\"!rules.host_and_port || this != \'\'H\x00R\x0bhostAndPort\x12\xb8\x05\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\x18.buf.validate.KnownRegexB\xf1\x04\xc2H\xed\x04\n\xf0\x01\n#string.well_known_regex.header_name\x12&value must be a valid HTTP header name\x1a\xa0\x01rules.well_known_regex != 1 || this == \'\' || this.matches(!has(rules.strict) || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D]+$\')\n\x8d\x01\n)string.well_known_regex.header_name_empty\x12\x35value is empty, which is not a valid HTTP header name\x1a)rules.well_known_regex != 1 || this != \'\'\n\xe7\x01\n$string.well_known_regex.header_value\x12\'value must be a valid HTTP header value\x1a\x95\x01rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$\')H\x00R\x0ewellKnownRegex\x12\x16\n\x06strict\x18\x19 \x01(\x08R\x06strict\x12\x35\n\x07\x65xample\x18\" \x03(\tB\x1b\xc2H\x18\n\x16\n\x0estring.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xa3\x11\n\nBytesRules\x12m\n\x05\x63onst\x18\x01 \x01(\x0c\x42W\xc2HT\nR\n\x0b\x62ytes.const\x1a\x43this != rules.const ? \'value must be %x\'.format([rules.const]) : \'\'R\x05\x63onst\x12}\n\x03len\x18\r \x01(\x04\x42k\xc2Hh\nf\n\tbytes.len\x1aYuint(this.size()) != rules.len ? \'value length must be %s bytes\'.format([rules.len]) : \'\'R\x03len\x12\x98\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x7f\xc2H|\nz\n\rbytes.min_len\x1aiuint(this.size()) < rules.min_len ? \'value length must be at least %s bytes\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x90\x01\n\x07max_len\x18\x03 \x01(\x04\x42w\xc2Ht\nr\n\rbytes.max_len\x1a\x61uint(this.size()) > rules.max_len ? \'value must be at most %s bytes\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\x99\x01\n\x07pattern\x18\x04 \x01(\tB\x7f\xc2H|\nz\n\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? \'value must match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x89\x01\n\x06prefix\x18\x05 \x01(\x0c\x42q\xc2Hn\nl\n\x0c\x62ytes.prefix\x1a\\!this.startsWith(rules.prefix) ? \'value does not have prefix %x\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x87\x01\n\x06suffix\x18\x06 \x01(\x0c\x42o\xc2Hl\nj\n\x0c\x62ytes.suffix\x1aZ!this.endsWith(rules.suffix) ? \'value does not have suffix %x\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x8d\x01\n\x08\x63ontains\x18\x07 \x01(\x0c\x42q\xc2Hn\nl\n\x0e\x62ytes.contains\x1aZ!this.contains(rules.contains) ? \'value does not contain %x\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\x9b\x01\n\x02in\x18\x08 \x03(\x0c\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x08\x62ytes.in\x1awdyn(rules)[\'in\'].size() > 0 && !(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\t \x03(\x0c\x42\x66\xc2Hc\na\n\x0c\x62ytes.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xef\x01\n\x02ip\x18\n \x01(\x08\x42\xdc\x01\xc2H\xd8\x01\nt\n\x08\x62ytes.ip\x12 value must be a valid IP address\x1a\x46!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\x0e\x62ytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x1d!rules.ip || this.size() != 0H\x00R\x02ip\x12\xea\x01\n\x04ipv4\x18\x0b \x01(\x08\x42\xd3\x01\xc2H\xcf\x01\ne\n\nbytes.ipv4\x12\"value must be a valid IPv4 address\x1a\x33!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\x10\x62ytes.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xeb\x01\n\x04ipv6\x18\x0c \x01(\x08\x42\xd4\x01\xc2H\xd0\x01\nf\n\nbytes.ipv6\x12\"value must be a valid IPv6 address\x1a\x34!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\x10\x62ytes.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x12\x34\n\x07\x65xample\x18\x0e \x03(\x0c\x42\x1a\xc2H\x17\n\x15\n\rbytes.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xd7\x03\n\tEnumRules\x12o\n\x05\x63onst\x18\x01 \x01(\x05\x42Y\xc2HV\nT\n\nenum.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12x\n\x02in\x18\x03 \x03(\x05\x42h\xc2He\nc\n\x07\x65num.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12|\n\x06not_in\x18\x04 \x03(\x05\x42\x65\xc2Hb\n`\n\x0b\x65num.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x33\n\x07\x65xample\x18\x05 \x03(\x05\x42\x19\xc2H\x16\n\x14\n\x0c\x65num.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa4\x04\n\rRepeatedRules\x12\xa8\x01\n\tmin_items\x18\x01 \x01(\x04\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x12repeated.min_items\x1amuint(this.size()) < rules.min_items ? \'value must contain at least %d item(s)\'.format([rules.min_items]) : \'\'R\x08minItems\x12\xac\x01\n\tmax_items\x18\x02 \x01(\x04\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x12repeated.max_items\x1aquint(this.size()) > rules.max_items ? \'value must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'R\x08maxItems\x12x\n\x06unique\x18\x03 \x01(\x08\x42`\xc2H]\n[\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12\x34\n\x05items\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xb8\x03\n\x08MapRules\x12\x99\x01\n\tmin_pairs\x18\x01 \x01(\x04\x42|\xc2Hy\nw\n\rmap.min_pairs\x1a\x66uint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'R\x08minPairs\x12\x98\x01\n\tmax_pairs\x18\x02 \x01(\x04\x42{\xc2Hx\nv\n\rmap.max_pairs\x1a\x65uint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'R\x08maxPairs\x12\x32\n\x04keys\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x04keys\x12\x36\n\x06values\x18\x05 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x06values*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"1\n\x08\x41nyRules\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xa2\x17\n\rDurationRules\x12\x8e\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB]\xc2HZ\nX\n\x0e\x64uration.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xac\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x7f\xc2H|\nz\n\x0b\x64uration.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xbf\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0c\x64uration.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xc5\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x97\x07\xc2H\x93\x07\n}\n\x0b\x64uration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0e\x64uration.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18\x64uration.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0f\x64uration.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19\x64uration.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x92\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0c\x64uration.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0f\x64uration.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19\x64uration.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10\x64uration.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1a\x64uration.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x97\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBl\xc2Hi\ng\n\x0b\x64uration.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x9b\x01\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationBi\xc2Hf\nd\n\x0f\x64uration.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12R\n\x07\x65xample\x18\t \x03(\x0b\x32\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n\x18\n\x10\x64uration.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb0\x18\n\x0eTimestampRules\x12\x90\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB^\xc2H[\nY\n\x0ftimestamp.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xaf\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n{\n\x0ctimestamp.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xc1\x01\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x90\x01\xc2H\x8c\x01\n\x89\x01\n\rtimestamp.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12s\n\x06lt_now\x18\x07 \x01(\x08\x42Z\xc2HW\nU\n\x10timestamp.lt_now\x1a\x41(rules.lt_now && this > now) ? \'value must be less than now\' : \'\'H\x00R\x05ltNow\x12\xcb\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x9c\x07\xc2H\x98\x07\n~\n\x0ctimestamp.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb7\x01\n\x0ftimestamp.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbf\x01\n\x19timestamp.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc7\x01\n\x10timestamp.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcf\x01\n\x1atimestamp.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x98\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xe7\x07\xc2H\xe3\x07\n\x8c\x01\n\rtimestamp.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc6\x01\n\x10timestamp.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xce\x01\n\x1atimestamp.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd6\x01\n\x11timestamp.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xde\x01\n\x1btimestamp.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12v\n\x06gt_now\x18\x08 \x01(\x08\x42]\xc2HZ\nX\n\x10timestamp.gt_now\x1a\x44(rules.gt_now && this < now) ? \'value must be greater than now\' : \'\'H\x01R\x05gtNow\x12\xc0\x01\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationB\x8c\x01\xc2H\x88\x01\n\x85\x01\n\x10timestamp.within\x1aqthis < now-rules.within || this > now+rules.within ? \'value must be within %s of now\'.format([rules.within]) : \'\'R\x06within\x12T\n\x07\x65xample\x18\n \x03(\x0b\x32\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n\x19\n\x11timestamp.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"E\n\nViolations\x12\x37\n\nviolations\x18\x01 \x03(\x0b\x32\x17.buf.validate.ViolationR\nviolations\"\x82\x01\n\tViolation\x12\x1d\n\nfield_path\x18\x01 \x01(\tR\tfieldPath\x12#\n\rconstraint_id\x18\x02 \x01(\tR\x0c\x63onstraintId\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x17\n\x07\x66or_key\x18\x04 \x01(\x08R\x06\x66orKey*\x9d\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x19\n\x15IGNORE_IF_UNPOPULATED\x10\x01\x12\x1b\n\x17IGNORE_IF_DEFAULT_VALUE\x10\x02\x12\x11\n\rIGNORE_ALWAYS\x10\x03\x12\x14\n\x0cIGNORE_EMPTY\x10\x01\x1a\x02\x08\x01\x12\x16\n\x0eIGNORE_DEFAULT\x10\x02\x1a\x02\x08\x01\x1a\x02\x10\x01*n\n\nKnownRegex\x12\x1b\n\x17KNOWN_REGEX_UNSPECIFIED\x10\x00\x12 \n\x1cKNOWN_REGEX_HTTP_HEADER_NAME\x10\x01\x12!\n\x1dKNOWN_REGEX_HTTP_HEADER_VALUE\x10\x02:\\\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32 .buf.validate.MessageConstraintsR\x07message:T\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.OneofConstraintsR\x05oneof:T\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05\x66ield:c\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32#.buf.validate.PredefinedConstraintsR\npredefinedBn\n\x12\x62uild.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -76,7 +74,9 @@ _globals['_FLOATRULES'].fields_by_name['not_in']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['not_in']._serialized_options = b'\302Hc\na\n\014float.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' _globals['_FLOATRULES'].fields_by_name['finite']._loaded_options = None - _globals['_FLOATRULES'].fields_by_name['finite']._serialized_options = b'\302HL\nJ\n\014float.finite\032:this.isNan() || this.isInf() ? \'value must be finite\' : \'\'' + _globals['_FLOATRULES'].fields_by_name['finite']._serialized_options = b'\302Hb\n`\n\014float.finite\032Prules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'' + _globals['_FLOATRULES'].fields_by_name['example']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['example']._serialized_options = b'\302H\027\n\025\n\rfloat.example\032\004true' _globals['_DOUBLERULES'].fields_by_name['const']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014double.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_DOUBLERULES'].fields_by_name['lt']._loaded_options = None @@ -92,7 +92,9 @@ _globals['_DOUBLERULES'].fields_by_name['not_in']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\rdouble.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' _globals['_DOUBLERULES'].fields_by_name['finite']._loaded_options = None - _globals['_DOUBLERULES'].fields_by_name['finite']._serialized_options = b'\302HM\nK\n\rdouble.finite\032:this.isNan() || this.isInf() ? \'value must be finite\' : \'\'' + _globals['_DOUBLERULES'].fields_by_name['finite']._serialized_options = b'\302Hc\na\n\rdouble.finite\032Prules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'' + _globals['_DOUBLERULES'].fields_by_name['example']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016double.example\032\004true' _globals['_INT32RULES'].fields_by_name['const']._loaded_options = None _globals['_INT32RULES'].fields_by_name['const']._serialized_options = b'\302HW\nU\n\013int32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_INT32RULES'].fields_by_name['lt']._loaded_options = None @@ -107,6 +109,8 @@ _globals['_INT32RULES'].fields_by_name['in']._serialized_options = b'\302Hf\nd\n\010int32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_INT32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_INT32RULES'].fields_by_name['not_in']._serialized_options = b'\302Hc\na\n\014int32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_INT32RULES'].fields_by_name['example']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['example']._serialized_options = b'\302H\027\n\025\n\rint32.example\032\004true' _globals['_INT64RULES'].fields_by_name['const']._loaded_options = None _globals['_INT64RULES'].fields_by_name['const']._serialized_options = b'\302HW\nU\n\013int64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_INT64RULES'].fields_by_name['lt']._loaded_options = None @@ -121,6 +125,8 @@ _globals['_INT64RULES'].fields_by_name['in']._serialized_options = b'\302Hf\nd\n\010int64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_INT64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_INT64RULES'].fields_by_name['not_in']._serialized_options = b'\302Hc\na\n\014int64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_INT64RULES'].fields_by_name['example']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['example']._serialized_options = b'\302H\027\n\025\n\rint64.example\032\004true' _globals['_UINT32RULES'].fields_by_name['const']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014uint32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_UINT32RULES'].fields_by_name['lt']._loaded_options = None @@ -135,6 +141,8 @@ _globals['_UINT32RULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tuint32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_UINT32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\ruint32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_UINT32RULES'].fields_by_name['example']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016uint32.example\032\004true' _globals['_UINT64RULES'].fields_by_name['const']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014uint64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_UINT64RULES'].fields_by_name['lt']._loaded_options = None @@ -149,6 +157,8 @@ _globals['_UINT64RULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tuint64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_UINT64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\ruint64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_UINT64RULES'].fields_by_name['example']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016uint64.example\032\004true' _globals['_SINT32RULES'].fields_by_name['const']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014sint32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_SINT32RULES'].fields_by_name['lt']._loaded_options = None @@ -163,6 +173,8 @@ _globals['_SINT32RULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tsint32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_SINT32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\rsint32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_SINT32RULES'].fields_by_name['example']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016sint32.example\032\004true' _globals['_SINT64RULES'].fields_by_name['const']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014sint64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_SINT64RULES'].fields_by_name['lt']._loaded_options = None @@ -177,6 +189,8 @@ _globals['_SINT64RULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tsint64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_SINT64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\rsint64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_SINT64RULES'].fields_by_name['example']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016sint64.example\032\004true' _globals['_FIXED32RULES'].fields_by_name['const']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['const']._serialized_options = b'\302HY\nW\n\rfixed32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_FIXED32RULES'].fields_by_name['lt']._loaded_options = None @@ -191,6 +205,8 @@ _globals['_FIXED32RULES'].fields_by_name['in']._serialized_options = b'\302Hh\nf\n\nfixed32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_FIXED32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['not_in']._serialized_options = b'\302He\nc\n\016fixed32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_FIXED32RULES'].fields_by_name['example']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['example']._serialized_options = b'\302H\031\n\027\n\017fixed32.example\032\004true' _globals['_FIXED64RULES'].fields_by_name['const']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['const']._serialized_options = b'\302HY\nW\n\rfixed64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_FIXED64RULES'].fields_by_name['lt']._loaded_options = None @@ -205,6 +221,8 @@ _globals['_FIXED64RULES'].fields_by_name['in']._serialized_options = b'\302Hh\nf\n\nfixed64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_FIXED64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['not_in']._serialized_options = b'\302He\nc\n\016fixed64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_FIXED64RULES'].fields_by_name['example']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['example']._serialized_options = b'\302H\031\n\027\n\017fixed64.example\032\004true' _globals['_SFIXED32RULES'].fields_by_name['const']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['const']._serialized_options = b'\302HZ\nX\n\016sfixed32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_SFIXED32RULES'].fields_by_name['lt']._loaded_options = None @@ -219,6 +237,8 @@ _globals['_SFIXED32RULES'].fields_by_name['in']._serialized_options = b'\302Hi\ng\n\013sfixed32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_SFIXED32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['not_in']._serialized_options = b'\302Hf\nd\n\017sfixed32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_SFIXED32RULES'].fields_by_name['example']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['example']._serialized_options = b'\302H\032\n\030\n\020sfixed32.example\032\004true' _globals['_SFIXED64RULES'].fields_by_name['const']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['const']._serialized_options = b'\302HZ\nX\n\016sfixed64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_SFIXED64RULES'].fields_by_name['lt']._loaded_options = None @@ -233,8 +253,12 @@ _globals['_SFIXED64RULES'].fields_by_name['in']._serialized_options = b'\302Hi\ng\n\013sfixed64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_SFIXED64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['not_in']._serialized_options = b'\302Hf\nd\n\017sfixed64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_SFIXED64RULES'].fields_by_name['example']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['example']._serialized_options = b'\302H\032\n\030\n\020sfixed64.example\032\004true' _globals['_BOOLRULES'].fields_by_name['const']._loaded_options = None _globals['_BOOLRULES'].fields_by_name['const']._serialized_options = b'\302HV\nT\n\nbool.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' + _globals['_BOOLRULES'].fields_by_name['example']._loaded_options = None + _globals['_BOOLRULES'].fields_by_name['example']._serialized_options = b'\302H\026\n\024\n\014bool.example\032\004true' _globals['_STRINGRULES'].fields_by_name['const']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['const']._serialized_options = b'\302HZ\nX\n\014string.const\032Hthis != rules.const ? \'value must equal `%s`\'.format([rules.const]) : \'\'' _globals['_STRINGRULES'].fields_by_name['len']._loaded_options = None @@ -264,41 +288,43 @@ _globals['_STRINGRULES'].fields_by_name['not_in']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\rstring.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' _globals['_STRINGRULES'].fields_by_name['email']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['email']._serialized_options = b'\302H\251\001\nQ\n\014string.email\022#value must be a valid email address\032\034this == \'\' || this.isEmail()\nT\n\022string.email_empty\0222value is empty, which is not a valid email address\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['email']._serialized_options = b'\302H\311\001\na\n\014string.email\022#value must be a valid email address\032,!rules.email || this == \'\' || this.isEmail()\nd\n\022string.email_empty\0222value is empty, which is not a valid email address\032\032!rules.email || this != \'\'' _globals['_STRINGRULES'].fields_by_name['hostname']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['hostname']._serialized_options = b'\302H\250\001\nR\n\017string.hostname\022\036value must be a valid hostname\032\037this == \'\' || this.isHostname()\nR\n\025string.hostname_empty\022-value is empty, which is not a valid hostname\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['hostname']._serialized_options = b'\302H\316\001\ne\n\017string.hostname\022\036value must be a valid hostname\0322!rules.hostname || this == \'\' || this.isHostname()\ne\n\025string.hostname_empty\022-value is empty, which is not a valid hostname\032\035!rules.hostname || this != \'\'' _globals['_STRINGRULES'].fields_by_name['ip']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ip']._serialized_options = b'\302H\232\001\nH\n\tstring.ip\022 value must be a valid IP address\032\031this == \'\' || this.isIp()\nN\n\017string.ip_empty\022/value is empty, which is not a valid IP address\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['ip']._serialized_options = b'\302H\264\001\nU\n\tstring.ip\022 value must be a valid IP address\032&!rules.ip || this == \'\' || this.isIp()\n[\n\017string.ip_empty\022/value is empty, which is not a valid IP address\032\027!rules.ip || this != \'\'' _globals['_STRINGRULES'].fields_by_name['ipv4']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ipv4']._serialized_options = b'\302H\243\001\nM\n\013string.ipv4\022\"value must be a valid IPv4 address\032\032this == \'\' || this.isIp(4)\nR\n\021string.ipv4_empty\0221value is empty, which is not a valid IPv4 address\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['ipv4']._serialized_options = b'\302H\301\001\n\\\n\013string.ipv4\022\"value must be a valid IPv4 address\032)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\021string.ipv4_empty\0221value is empty, which is not a valid IPv4 address\032\031!rules.ipv4 || this != \'\'' _globals['_STRINGRULES'].fields_by_name['ipv6']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ipv6']._serialized_options = b'\302H\243\001\nM\n\013string.ipv6\022\"value must be a valid IPv6 address\032\032this == \'\' || this.isIp(6)\nR\n\021string.ipv6_empty\0221value is empty, which is not a valid IPv6 address\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['ipv6']._serialized_options = b'\302H\301\001\n\\\n\013string.ipv6\022\"value must be a valid IPv6 address\032)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\021string.ipv6_empty\0221value is empty, which is not a valid IPv6 address\032\031!rules.ipv6 || this != \'\'' _globals['_STRINGRULES'].fields_by_name['uri']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['uri']._serialized_options = b'\302H\217\001\nC\n\nstring.uri\022\031value must be a valid URI\032\032this == \'\' || this.isUri()\nH\n\020string.uri_empty\022(value is empty, which is not a valid URI\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['uri']._serialized_options = b'\302H\253\001\nQ\n\nstring.uri\022\031value must be a valid URI\032(!rules.uri || this == \'\' || this.isUri()\nV\n\020string.uri_empty\022(value is empty, which is not a valid URI\032\030!rules.uri || this != \'\'' _globals['_STRINGRULES'].fields_by_name['uri_ref']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['uri_ref']._serialized_options = b'\302H>\n<\n\016string.uri_ref\022\031value must be a valid URI\032\017this.isUriRef()' + _globals['_STRINGRULES'].fields_by_name['uri_ref']._serialized_options = b'\302HP\nN\n\016string.uri_ref\022\031value must be a valid URI\032!!rules.uri_ref || this.isUriRef()' _globals['_STRINGRULES'].fields_by_name['address']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['address']._serialized_options = b'\302H\323\001\no\n\016string.address\022-value must be a valid hostname, or ip address\032.this == \'\' || this.isHostname() || this.isIp()\n`\n\024string.address_empty\022!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\222\001\n string.ipv4_with_prefixlen_empty\022Dvalue is empty, which is not a valid IPv4 address with prefix length\032(!rules.ipv4_with_prefixlen || this != \'\'' _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._serialized_options = b'\302H\355\001\nu\n\032string.ipv6_with_prefixlen\0225value must be a valid IPv6 address with prefix length\032 this == \'\' || this.isIpPrefix(6)\nt\n string.ipv6_with_prefixlen_empty\022Dvalue is empty, which is not a valid IPv6 address with prefix length\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._serialized_options = b'\302H\253\002\n\223\001\n\032string.ipv6_with_prefixlen\0225value must be a valid IPv6 address with prefix length\032>!rules.ipv6_with_prefixlen || this == \'\' || this.isIpPrefix(6)\n\222\001\n string.ipv6_with_prefixlen_empty\022Dvalue is empty, which is not a valid IPv6 address with prefix length\032(!rules.ipv6_with_prefixlen || this != \'\'' _globals['_STRINGRULES'].fields_by_name['ip_prefix']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ip_prefix']._serialized_options = b'\302H\260\001\nX\n\020string.ip_prefix\022\037value must be a valid IP prefix\032#this == \'\' || this.isIpPrefix(true)\nT\n\026string.ip_prefix_empty\022.value is empty, which is not a valid IP prefix\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['ip_prefix']._serialized_options = b'\302H\330\001\nl\n\020string.ip_prefix\022\037value must be a valid IP prefix\0327!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\026string.ip_prefix_empty\022.value is empty, which is not a valid IP prefix\032\036!rules.ip_prefix || this != \'\'' _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._loaded_options = None - _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._serialized_options = b'\302H\273\001\n_\n\022string.ipv4_prefix\022!value must be a valid IPv4 prefix\032&this == \'\' || this.isIpPrefix(4, true)\nX\n\030string.ipv4_prefix_empty\0220value is empty, which is not a valid IPv4 prefix\032\nthis != \'\'' + _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._serialized_options = b'\302H\347\001\nu\n\022string.ipv4_prefix\022!value must be a valid IPv4 prefix\032!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\032string.host_and_port_empty\0227value is empty, which is not a valid host and port pair\032\"!rules.host_and_port || this != \'\'' _globals['_STRINGRULES'].fields_by_name['well_known_regex']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['well_known_regex']._serialized_options = b'\302H\355\004\n\360\001\n#string.well_known_regex.header_name\022&value must be a valid HTTP header name\032\240\001rules.well_known_regex != 1 || this == \'\' || this.matches(!has(rules.strict) || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D]+$\')\n\215\001\n)string.well_known_regex.header_name_empty\0225value is empty, which is not a valid HTTP header name\032)rules.well_known_regex != 1 || this != \'\'\n\347\001\n$string.well_known_regex.header_value\022\'value must be a valid HTTP header value\032\225\001rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$\')' + _globals['_STRINGRULES'].fields_by_name['example']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['example']._serialized_options = b'\302H\030\n\026\n\016string.example\032\004true' _globals['_BYTESRULES'].fields_by_name['const']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['const']._serialized_options = b'\302HT\nR\n\013bytes.const\032Cthis != rules.const ? \'value must be %x\'.format([rules.const]) : \'\'' _globals['_BYTESRULES'].fields_by_name['len']._loaded_options = None @@ -320,23 +346,27 @@ _globals['_BYTESRULES'].fields_by_name['not_in']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['not_in']._serialized_options = b'\302Hc\na\n\014bytes.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' _globals['_BYTESRULES'].fields_by_name['ip']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['ip']._serialized_options = b'\302H\276\001\ng\n\010bytes.ip\022 value must be a valid IP address\0329this.size() == 0 || this.size() == 4 || this.size() == 16\nS\n\016bytes.ip_empty\022/value is empty, which is not a valid IP address\032\020this.size() != 0' + _globals['_BYTESRULES'].fields_by_name['ip']._serialized_options = b'\302H\330\001\nt\n\010bytes.ip\022 value must be a valid IP address\032F!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\016bytes.ip_empty\022/value is empty, which is not a valid IP address\032\035!rules.ip || this.size() != 0' _globals['_BYTESRULES'].fields_by_name['ipv4']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['ipv4']._serialized_options = b'\302H\261\001\nV\n\nbytes.ipv4\022\"value must be a valid IPv4 address\032$this.size() == 0 || this.size() == 4\nW\n\020bytes.ipv4_empty\0221value is empty, which is not a valid IPv4 address\032\020this.size() != 0' + _globals['_BYTESRULES'].fields_by_name['ipv4']._serialized_options = b'\302H\317\001\ne\n\nbytes.ipv4\022\"value must be a valid IPv4 address\0323!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\020bytes.ipv4_empty\0221value is empty, which is not a valid IPv4 address\032\037!rules.ipv4 || this.size() != 0' _globals['_BYTESRULES'].fields_by_name['ipv6']._loaded_options = None - _globals['_BYTESRULES'].fields_by_name['ipv6']._serialized_options = b'\302H\262\001\nW\n\nbytes.ipv6\022\"value must be a valid IPv6 address\032%this.size() == 0 || this.size() == 16\nW\n\020bytes.ipv6_empty\0221value is empty, which is not a valid IPv6 address\032\020this.size() != 0' + _globals['_BYTESRULES'].fields_by_name['ipv6']._serialized_options = b'\302H\320\001\nf\n\nbytes.ipv6\022\"value must be a valid IPv6 address\0324!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\020bytes.ipv6_empty\0221value is empty, which is not a valid IPv6 address\032\037!rules.ipv6 || this.size() != 0' + _globals['_BYTESRULES'].fields_by_name['example']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['example']._serialized_options = b'\302H\027\n\025\n\rbytes.example\032\004true' _globals['_ENUMRULES'].fields_by_name['const']._loaded_options = None _globals['_ENUMRULES'].fields_by_name['const']._serialized_options = b'\302HV\nT\n\nenum.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_ENUMRULES'].fields_by_name['in']._loaded_options = None _globals['_ENUMRULES'].fields_by_name['in']._serialized_options = b'\302He\nc\n\007enum.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_ENUMRULES'].fields_by_name['not_in']._loaded_options = None _globals['_ENUMRULES'].fields_by_name['not_in']._serialized_options = b'\302Hb\n`\n\013enum.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_ENUMRULES'].fields_by_name['example']._loaded_options = None + _globals['_ENUMRULES'].fields_by_name['example']._serialized_options = b'\302H\026\n\024\n\014enum.example\032\004true' _globals['_REPEATEDRULES'].fields_by_name['min_items']._loaded_options = None _globals['_REPEATEDRULES'].fields_by_name['min_items']._serialized_options = b'\302H\206\001\n\203\001\n\022repeated.min_items\032muint(this.size()) < rules.min_items ? \'value must contain at least %d item(s)\'.format([rules.min_items]) : \'\'' _globals['_REPEATEDRULES'].fields_by_name['max_items']._loaded_options = None _globals['_REPEATEDRULES'].fields_by_name['max_items']._serialized_options = b'\302H\212\001\n\207\001\n\022repeated.max_items\032quint(this.size()) > rules.max_items ? \'value must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'' _globals['_REPEATEDRULES'].fields_by_name['unique']._loaded_options = None - _globals['_REPEATEDRULES'].fields_by_name['unique']._serialized_options = b'\302HL\nJ\n\017repeated.unique\022(repeated value must contain unique items\032\rthis.unique()' + _globals['_REPEATEDRULES'].fields_by_name['unique']._serialized_options = b'\302H]\n[\n\017repeated.unique\022(repeated value must contain unique items\032\036!rules.unique || this.unique()' _globals['_MAPRULES'].fields_by_name['min_pairs']._loaded_options = None _globals['_MAPRULES'].fields_by_name['min_pairs']._serialized_options = b'\302Hy\nw\n\rmap.min_pairs\032fuint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'' _globals['_MAPRULES'].fields_by_name['max_pairs']._loaded_options = None @@ -355,6 +385,8 @@ _globals['_DURATIONRULES'].fields_by_name['in']._serialized_options = b'\302Hi\ng\n\013duration.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' _globals['_DURATIONRULES'].fields_by_name['not_in']._loaded_options = None _globals['_DURATIONRULES'].fields_by_name['not_in']._serialized_options = b'\302Hf\nd\n\017duration.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' + _globals['_DURATIONRULES'].fields_by_name['example']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['example']._serialized_options = b'\302H\032\n\030\n\020duration.example\032\004true' _globals['_TIMESTAMPRULES'].fields_by_name['const']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['const']._serialized_options = b'\302H[\nY\n\017timestamp.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' _globals['_TIMESTAMPRULES'].fields_by_name['lt']._loaded_options = None @@ -362,65 +394,75 @@ _globals['_TIMESTAMPRULES'].fields_by_name['lte']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['lte']._serialized_options = b'\302H\214\001\n\211\001\n\rtimestamp.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._serialized_options = b'\302HE\nC\n\020timestamp.lt_now\032/this > now ? \'value must be less than now\' : \'\'' + _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._serialized_options = b'\302HW\nU\n\020timestamp.lt_now\032A(rules.lt_now && this > now) ? \'value must be less than now\' : \'\'' _globals['_TIMESTAMPRULES'].fields_by_name['gt']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['gt']._serialized_options = b'\302H\230\007\n~\n\014timestamp.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\267\001\n\017timestamp.gt_lt\032\243\001has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\277\001\n\031timestamp.gt_lt_exclusive\032\241\001has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\307\001\n\020timestamp.gt_lte\032\262\001has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\317\001\n\032timestamp.gt_lte_exclusive\032\260\001has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'' _globals['_TIMESTAMPRULES'].fields_by_name['gte']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['gte']._serialized_options = b'\302H\343\007\n\214\001\n\rtimestamp.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\306\001\n\020timestamp.gte_lt\032\261\001has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\316\001\n\032timestamp.gte_lt_exclusive\032\257\001has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\326\001\n\021timestamp.gte_lte\032\300\001has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\336\001\n\033timestamp.gte_lte_exclusive\032\276\001has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'' _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._loaded_options = None - _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._serialized_options = b'\302HH\nF\n\020timestamp.gt_now\0322this < now ? \'value must be greater than now\' : \'\'' + _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._serialized_options = b'\302HZ\nX\n\020timestamp.gt_now\032D(rules.gt_now && this < now) ? \'value must be greater than now\' : \'\'' _globals['_TIMESTAMPRULES'].fields_by_name['within']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['within']._serialized_options = b'\302H\210\001\n\205\001\n\020timestamp.within\032qthis < now-rules.within || this > now+rules.within ? \'value must be within %s of now\'.format([rules.within]) : \'\'' - _globals['_IGNORE']._serialized_start=51208 - _globals['_IGNORE']._serialized_end=51365 - _globals['_KNOWNREGEX']._serialized_start=51367 - _globals['_KNOWNREGEX']._serialized_end=51477 - _globals['_MESSAGECONSTRAINTS']._serialized_start=208 - _globals['_MESSAGECONSTRAINTS']._serialized_end=318 - _globals['_ONEOFCONSTRAINTS']._serialized_start=320 - _globals['_ONEOFCONSTRAINTS']._serialized_end=384 - _globals['_FIELDCONSTRAINTS']._serialized_start=387 - _globals['_FIELDCONSTRAINTS']._serialized_end=1710 - _globals['_FLOATRULES']._serialized_start=1713 - _globals['_FLOATRULES']._serialized_end=4691 - _globals['_DOUBLERULES']._serialized_start=4694 - _globals['_DOUBLERULES']._serialized_end=7689 - _globals['_INT32RULES']._serialized_start=7692 - _globals['_INT32RULES']._serialized_end=10350 - _globals['_INT64RULES']._serialized_start=10353 - _globals['_INT64RULES']._serialized_end=13011 - _globals['_UINT32RULES']._serialized_start=13014 - _globals['_UINT32RULES']._serialized_end=15688 - _globals['_UINT64RULES']._serialized_start=15691 - _globals['_UINT64RULES']._serialized_end=18365 - _globals['_SINT32RULES']._serialized_start=18368 - _globals['_SINT32RULES']._serialized_end=21042 - _globals['_SINT64RULES']._serialized_start=21045 - _globals['_SINT64RULES']._serialized_end=23719 - _globals['_FIXED32RULES']._serialized_start=23722 - _globals['_FIXED32RULES']._serialized_end=26412 - _globals['_FIXED64RULES']._serialized_start=26415 - _globals['_FIXED64RULES']._serialized_end=29105 - _globals['_SFIXED32RULES']._serialized_start=29108 - _globals['_SFIXED32RULES']._serialized_end=31815 - _globals['_SFIXED64RULES']._serialized_start=31818 - _globals['_SFIXED64RULES']._serialized_end=34525 - _globals['_BOOLRULES']._serialized_start=34528 - _globals['_BOOLRULES']._serialized_end=34667 - _globals['_STRINGRULES']._serialized_start=34670 - _globals['_STRINGRULES']._serialized_end=41500 - _globals['_BYTESRULES']._serialized_start=41503 - _globals['_BYTESRULES']._serialized_end=43693 - _globals['_ENUMRULES']._serialized_start=43696 - _globals['_ENUMRULES']._serialized_end=44140 - _globals['_REPEATEDRULES']._serialized_start=44143 - _globals['_REPEATEDRULES']._serialized_end=44732 - _globals['_MAPRULES']._serialized_start=44735 - _globals['_MAPRULES']._serialized_end=45232 - _globals['_ANYRULES']._serialized_start=45234 - _globals['_ANYRULES']._serialized_end=45283 - _globals['_DURATIONRULES']._serialized_start=45286 - _globals['_DURATIONRULES']._serialized_end=48184 - _globals['_TIMESTAMPRULES']._serialized_start=48187 - _globals['_TIMESTAMPRULES']._serialized_end=51205 + _globals['_TIMESTAMPRULES'].fields_by_name['example']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['example']._serialized_options = b'\302H\033\n\031\n\021timestamp.example\032\004true' + _globals['_IGNORE']._serialized_start=52808 + _globals['_IGNORE']._serialized_end=52965 + _globals['_KNOWNREGEX']._serialized_start=52967 + _globals['_KNOWNREGEX']._serialized_end=53077 + _globals['_CONSTRAINT']._serialized_start=144 + _globals['_CONSTRAINT']._serialized_end=230 + _globals['_MESSAGECONSTRAINTS']._serialized_start=232 + _globals['_MESSAGECONSTRAINTS']._serialized_end=324 + _globals['_ONEOFCONSTRAINTS']._serialized_start=326 + _globals['_ONEOFCONSTRAINTS']._serialized_end=372 + _globals['_FIELDCONSTRAINTS']._serialized_start=375 + _globals['_FIELDCONSTRAINTS']._serialized_end=1698 + _globals['_PREDEFINEDCONSTRAINTS']._serialized_start=1700 + _globals['_PREDEFINEDCONSTRAINTS']._serialized_end=1767 + _globals['_FLOATRULES']._serialized_start=1770 + _globals['_FLOATRULES']._serialized_end=4820 + _globals['_DOUBLERULES']._serialized_start=4823 + _globals['_DOUBLERULES']._serialized_end=7891 + _globals['_INT32RULES']._serialized_start=7894 + _globals['_INT32RULES']._serialized_end=10602 + _globals['_INT64RULES']._serialized_start=10605 + _globals['_INT64RULES']._serialized_end=13313 + _globals['_UINT32RULES']._serialized_start=13316 + _globals['_UINT32RULES']._serialized_end=16041 + _globals['_UINT64RULES']._serialized_start=16044 + _globals['_UINT64RULES']._serialized_end=18769 + _globals['_SINT32RULES']._serialized_start=18772 + _globals['_SINT32RULES']._serialized_end=21497 + _globals['_SINT64RULES']._serialized_start=21500 + _globals['_SINT64RULES']._serialized_end=24225 + _globals['_FIXED32RULES']._serialized_start=24228 + _globals['_FIXED32RULES']._serialized_end=26970 + _globals['_FIXED64RULES']._serialized_start=26973 + _globals['_FIXED64RULES']._serialized_end=29715 + _globals['_SFIXED32RULES']._serialized_start=29718 + _globals['_SFIXED32RULES']._serialized_end=32478 + _globals['_SFIXED64RULES']._serialized_start=32481 + _globals['_SFIXED64RULES']._serialized_end=35241 + _globals['_BOOLRULES']._serialized_start=35244 + _globals['_BOOLRULES']._serialized_end=35432 + _globals['_STRINGRULES']._serialized_start=35435 + _globals['_STRINGRULES']._serialized_end=42764 + _globals['_BYTESRULES']._serialized_start=42767 + _globals['_BYTESRULES']._serialized_end=44978 + _globals['_ENUMRULES']._serialized_start=44981 + _globals['_ENUMRULES']._serialized_end=45452 + _globals['_REPEATEDRULES']._serialized_start=45455 + _globals['_REPEATEDRULES']._serialized_end=46003 + _globals['_MAPRULES']._serialized_start=46006 + _globals['_MAPRULES']._serialized_end=46446 + _globals['_ANYRULES']._serialized_start=46448 + _globals['_ANYRULES']._serialized_end=46497 + _globals['_DURATIONRULES']._serialized_start=46500 + _globals['_DURATIONRULES']._serialized_end=49478 + _globals['_TIMESTAMPRULES']._serialized_start=49481 + _globals['_TIMESTAMPRULES']._serialized_end=52601 + _globals['_VIOLATIONS']._serialized_start=52603 + _globals['_VIOLATIONS']._serialized_end=52672 + _globals['_VIOLATION']._serialized_start=52675 + _globals['_VIOLATION']._serialized_end=52805 # @@protoc_insertion_point(module_scope) diff --git a/gen/buf/validate/validate_pb2.pyi b/gen/buf/validate/validate_pb2.pyi index e49a08c..36c35d5 100644 --- a/gen/buf/validate/validate_pb2.pyi +++ b/gen/buf/validate/validate_pb2.pyi @@ -12,13 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -from buf.validate import expression_pb2 as _expression_pb2 -from buf.validate.priv import private_pb2 as _private_pb2 from google.protobuf import descriptor_pb2 as _descriptor_pb2 from google.protobuf import duration_pb2 as _duration_pb2 from google.protobuf import timestamp_pb2 as _timestamp_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf.internal import python_message as _python_message from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union @@ -54,14 +53,26 @@ ONEOF_FIELD_NUMBER: _ClassVar[int] oneof: _descriptor.FieldDescriptor FIELD_FIELD_NUMBER: _ClassVar[int] field: _descriptor.FieldDescriptor +PREDEFINED_FIELD_NUMBER: _ClassVar[int] +predefined: _descriptor.FieldDescriptor + +class Constraint(_message.Message): + __slots__ = ("id", "message", "expression") + ID_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + EXPRESSION_FIELD_NUMBER: _ClassVar[int] + id: str + message: str + expression: str + def __init__(self, id: _Optional[str] = ..., message: _Optional[str] = ..., expression: _Optional[str] = ...) -> None: ... class MessageConstraints(_message.Message): __slots__ = ("disabled", "cel") DISABLED_FIELD_NUMBER: _ClassVar[int] CEL_FIELD_NUMBER: _ClassVar[int] disabled: bool - cel: _containers.RepeatedCompositeFieldContainer[_expression_pb2.Constraint] - def __init__(self, disabled: bool = ..., cel: _Optional[_Iterable[_Union[_expression_pb2.Constraint, _Mapping]]] = ...) -> None: ... + cel: _containers.RepeatedCompositeFieldContainer[Constraint] + def __init__(self, disabled: bool = ..., cel: _Optional[_Iterable[_Union[Constraint, _Mapping]]] = ...) -> None: ... class OneofConstraints(_message.Message): __slots__ = ("required",) @@ -97,7 +108,7 @@ class FieldConstraints(_message.Message): TIMESTAMP_FIELD_NUMBER: _ClassVar[int] SKIPPED_FIELD_NUMBER: _ClassVar[int] IGNORE_EMPTY_FIELD_NUMBER: _ClassVar[int] - cel: _containers.RepeatedCompositeFieldContainer[_expression_pb2.Constraint] + cel: _containers.RepeatedCompositeFieldContainer[Constraint] required: bool ignore: Ignore float: FloatRules @@ -123,10 +134,17 @@ class FieldConstraints(_message.Message): timestamp: TimestampRules skipped: bool ignore_empty: bool - def __init__(self, cel: _Optional[_Iterable[_Union[_expression_pb2.Constraint, _Mapping]]] = ..., required: bool = ..., ignore: _Optional[_Union[Ignore, str]] = ..., float: _Optional[_Union[FloatRules, _Mapping]] = ..., double: _Optional[_Union[DoubleRules, _Mapping]] = ..., int32: _Optional[_Union[Int32Rules, _Mapping]] = ..., int64: _Optional[_Union[Int64Rules, _Mapping]] = ..., uint32: _Optional[_Union[UInt32Rules, _Mapping]] = ..., uint64: _Optional[_Union[UInt64Rules, _Mapping]] = ..., sint32: _Optional[_Union[SInt32Rules, _Mapping]] = ..., sint64: _Optional[_Union[SInt64Rules, _Mapping]] = ..., fixed32: _Optional[_Union[Fixed32Rules, _Mapping]] = ..., fixed64: _Optional[_Union[Fixed64Rules, _Mapping]] = ..., sfixed32: _Optional[_Union[SFixed32Rules, _Mapping]] = ..., sfixed64: _Optional[_Union[SFixed64Rules, _Mapping]] = ..., bool: _Optional[_Union[BoolRules, _Mapping]] = ..., string: _Optional[_Union[StringRules, _Mapping]] = ..., bytes: _Optional[_Union[BytesRules, _Mapping]] = ..., enum: _Optional[_Union[EnumRules, _Mapping]] = ..., repeated: _Optional[_Union[RepeatedRules, _Mapping]] = ..., map: _Optional[_Union[MapRules, _Mapping]] = ..., any: _Optional[_Union[AnyRules, _Mapping]] = ..., duration: _Optional[_Union[DurationRules, _Mapping]] = ..., timestamp: _Optional[_Union[TimestampRules, _Mapping]] = ..., skipped: bool = ..., ignore_empty: bool = ...) -> None: ... + def __init__(self, cel: _Optional[_Iterable[_Union[Constraint, _Mapping]]] = ..., required: bool = ..., ignore: _Optional[_Union[Ignore, str]] = ..., float: _Optional[_Union[FloatRules, _Mapping]] = ..., double: _Optional[_Union[DoubleRules, _Mapping]] = ..., int32: _Optional[_Union[Int32Rules, _Mapping]] = ..., int64: _Optional[_Union[Int64Rules, _Mapping]] = ..., uint32: _Optional[_Union[UInt32Rules, _Mapping]] = ..., uint64: _Optional[_Union[UInt64Rules, _Mapping]] = ..., sint32: _Optional[_Union[SInt32Rules, _Mapping]] = ..., sint64: _Optional[_Union[SInt64Rules, _Mapping]] = ..., fixed32: _Optional[_Union[Fixed32Rules, _Mapping]] = ..., fixed64: _Optional[_Union[Fixed64Rules, _Mapping]] = ..., sfixed32: _Optional[_Union[SFixed32Rules, _Mapping]] = ..., sfixed64: _Optional[_Union[SFixed64Rules, _Mapping]] = ..., bool: _Optional[_Union[BoolRules, _Mapping]] = ..., string: _Optional[_Union[StringRules, _Mapping]] = ..., bytes: _Optional[_Union[BytesRules, _Mapping]] = ..., enum: _Optional[_Union[EnumRules, _Mapping]] = ..., repeated: _Optional[_Union[RepeatedRules, _Mapping]] = ..., map: _Optional[_Union[MapRules, _Mapping]] = ..., any: _Optional[_Union[AnyRules, _Mapping]] = ..., duration: _Optional[_Union[DurationRules, _Mapping]] = ..., timestamp: _Optional[_Union[TimestampRules, _Mapping]] = ..., skipped: bool = ..., ignore_empty: bool = ...) -> None: ... + +class PredefinedConstraints(_message.Message): + __slots__ = ("cel",) + CEL_FIELD_NUMBER: _ClassVar[int] + cel: _containers.RepeatedCompositeFieldContainer[Constraint] + def __init__(self, cel: _Optional[_Iterable[_Union[Constraint, _Mapping]]] = ...) -> None: ... class FloatRules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "finite") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "finite", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -135,6 +153,7 @@ class FloatRules(_message.Message): IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] FINITE_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: float lt: float lte: float @@ -142,10 +161,12 @@ class FloatRules(_message.Message): gte: float not_in: _containers.RepeatedScalarFieldContainer[float] finite: bool - def __init__(self, const: _Optional[float] = ..., lt: _Optional[float] = ..., lte: _Optional[float] = ..., gt: _Optional[float] = ..., gte: _Optional[float] = ..., not_in: _Optional[_Iterable[float]] = ..., finite: bool = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[float] + def __init__(self, const: _Optional[float] = ..., lt: _Optional[float] = ..., lte: _Optional[float] = ..., gt: _Optional[float] = ..., gte: _Optional[float] = ..., not_in: _Optional[_Iterable[float]] = ..., finite: bool = ..., example: _Optional[_Iterable[float]] = ..., **kwargs) -> None: ... class DoubleRules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "finite") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "finite", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -154,6 +175,7 @@ class DoubleRules(_message.Message): IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] FINITE_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: float lt: float lte: float @@ -161,10 +183,12 @@ class DoubleRules(_message.Message): gte: float not_in: _containers.RepeatedScalarFieldContainer[float] finite: bool - def __init__(self, const: _Optional[float] = ..., lt: _Optional[float] = ..., lte: _Optional[float] = ..., gt: _Optional[float] = ..., gte: _Optional[float] = ..., not_in: _Optional[_Iterable[float]] = ..., finite: bool = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[float] + def __init__(self, const: _Optional[float] = ..., lt: _Optional[float] = ..., lte: _Optional[float] = ..., gt: _Optional[float] = ..., gte: _Optional[float] = ..., not_in: _Optional[_Iterable[float]] = ..., finite: bool = ..., example: _Optional[_Iterable[float]] = ..., **kwargs) -> None: ... class Int32Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -172,16 +196,19 @@ class Int32Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class Int64Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -189,16 +216,19 @@ class Int64Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class UInt32Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -206,16 +236,19 @@ class UInt32Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class UInt64Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -223,16 +256,19 @@ class UInt64Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class SInt32Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -240,16 +276,19 @@ class SInt32Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class SInt64Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -257,16 +296,19 @@ class SInt64Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class Fixed32Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -274,16 +316,19 @@ class Fixed32Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class Fixed64Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -291,16 +336,19 @@ class Fixed64Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class SFixed32Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -308,16 +356,19 @@ class SFixed32Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class SFixed64Rules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -325,22 +376,28 @@ class SFixed64Rules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int lt: int lte: int gt: int gte: int not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., lt: _Optional[int] = ..., lte: _Optional[int] = ..., gt: _Optional[int] = ..., gte: _Optional[int] = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class BoolRules(_message.Message): - __slots__ = ("const",) + __slots__ = ("const", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: bool - def __init__(self, const: bool = ...) -> None: ... + example: _containers.RepeatedScalarFieldContainer[bool] + def __init__(self, const: bool = ..., example: _Optional[_Iterable[bool]] = ...) -> None: ... class StringRules(_message.Message): - __slots__ = ("const", "len", "min_len", "max_len", "len_bytes", "min_bytes", "max_bytes", "pattern", "prefix", "suffix", "contains", "not_contains", "not_in", "email", "hostname", "ip", "ipv4", "ipv6", "uri", "uri_ref", "address", "uuid", "tuuid", "ip_with_prefixlen", "ipv4_with_prefixlen", "ipv6_with_prefixlen", "ip_prefix", "ipv4_prefix", "ipv6_prefix", "host_and_port", "well_known_regex", "strict") + __slots__ = ("const", "len", "min_len", "max_len", "len_bytes", "min_bytes", "max_bytes", "pattern", "prefix", "suffix", "contains", "not_contains", "not_in", "email", "hostname", "ip", "ipv4", "ipv6", "uri", "uri_ref", "address", "uuid", "tuuid", "ip_with_prefixlen", "ipv4_with_prefixlen", "ipv6_with_prefixlen", "ip_prefix", "ipv4_prefix", "ipv6_prefix", "host_and_port", "well_known_regex", "strict", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LEN_FIELD_NUMBER: _ClassVar[int] MIN_LEN_FIELD_NUMBER: _ClassVar[int] @@ -374,6 +431,7 @@ class StringRules(_message.Message): HOST_AND_PORT_FIELD_NUMBER: _ClassVar[int] WELL_KNOWN_REGEX_FIELD_NUMBER: _ClassVar[int] STRICT_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: str len: int min_len: int @@ -406,10 +464,12 @@ class StringRules(_message.Message): host_and_port: bool well_known_regex: KnownRegex strict: bool - def __init__(self, const: _Optional[str] = ..., len: _Optional[int] = ..., min_len: _Optional[int] = ..., max_len: _Optional[int] = ..., len_bytes: _Optional[int] = ..., min_bytes: _Optional[int] = ..., max_bytes: _Optional[int] = ..., pattern: _Optional[str] = ..., prefix: _Optional[str] = ..., suffix: _Optional[str] = ..., contains: _Optional[str] = ..., not_contains: _Optional[str] = ..., not_in: _Optional[_Iterable[str]] = ..., email: bool = ..., hostname: bool = ..., ip: bool = ..., ipv4: bool = ..., ipv6: bool = ..., uri: bool = ..., uri_ref: bool = ..., address: bool = ..., uuid: bool = ..., tuuid: bool = ..., ip_with_prefixlen: bool = ..., ipv4_with_prefixlen: bool = ..., ipv6_with_prefixlen: bool = ..., ip_prefix: bool = ..., ipv4_prefix: bool = ..., ipv6_prefix: bool = ..., host_and_port: bool = ..., well_known_regex: _Optional[_Union[KnownRegex, str]] = ..., strict: bool = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, const: _Optional[str] = ..., len: _Optional[int] = ..., min_len: _Optional[int] = ..., max_len: _Optional[int] = ..., len_bytes: _Optional[int] = ..., min_bytes: _Optional[int] = ..., max_bytes: _Optional[int] = ..., pattern: _Optional[str] = ..., prefix: _Optional[str] = ..., suffix: _Optional[str] = ..., contains: _Optional[str] = ..., not_contains: _Optional[str] = ..., not_in: _Optional[_Iterable[str]] = ..., email: bool = ..., hostname: bool = ..., ip: bool = ..., ipv4: bool = ..., ipv6: bool = ..., uri: bool = ..., uri_ref: bool = ..., address: bool = ..., uuid: bool = ..., tuuid: bool = ..., ip_with_prefixlen: bool = ..., ipv4_with_prefixlen: bool = ..., ipv6_with_prefixlen: bool = ..., ip_prefix: bool = ..., ipv4_prefix: bool = ..., ipv6_prefix: bool = ..., host_and_port: bool = ..., well_known_regex: _Optional[_Union[KnownRegex, str]] = ..., strict: bool = ..., example: _Optional[_Iterable[str]] = ..., **kwargs) -> None: ... class BytesRules(_message.Message): - __slots__ = ("const", "len", "min_len", "max_len", "pattern", "prefix", "suffix", "contains", "not_in", "ip", "ipv4", "ipv6") + __slots__ = ("const", "len", "min_len", "max_len", "pattern", "prefix", "suffix", "contains", "not_in", "ip", "ipv4", "ipv6", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LEN_FIELD_NUMBER: _ClassVar[int] MIN_LEN_FIELD_NUMBER: _ClassVar[int] @@ -423,6 +483,7 @@ class BytesRules(_message.Message): IP_FIELD_NUMBER: _ClassVar[int] IPV4_FIELD_NUMBER: _ClassVar[int] IPV6_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: bytes len: int min_len: int @@ -435,21 +496,26 @@ class BytesRules(_message.Message): ip: bool ipv4: bool ipv6: bool - def __init__(self, const: _Optional[bytes] = ..., len: _Optional[int] = ..., min_len: _Optional[int] = ..., max_len: _Optional[int] = ..., pattern: _Optional[str] = ..., prefix: _Optional[bytes] = ..., suffix: _Optional[bytes] = ..., contains: _Optional[bytes] = ..., not_in: _Optional[_Iterable[bytes]] = ..., ip: bool = ..., ipv4: bool = ..., ipv6: bool = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[bytes] + def __init__(self, const: _Optional[bytes] = ..., len: _Optional[int] = ..., min_len: _Optional[int] = ..., max_len: _Optional[int] = ..., pattern: _Optional[str] = ..., prefix: _Optional[bytes] = ..., suffix: _Optional[bytes] = ..., contains: _Optional[bytes] = ..., not_in: _Optional[_Iterable[bytes]] = ..., ip: bool = ..., ipv4: bool = ..., ipv6: bool = ..., example: _Optional[_Iterable[bytes]] = ..., **kwargs) -> None: ... class EnumRules(_message.Message): - __slots__ = ("const", "defined_only", "not_in") + __slots__ = ("const", "defined_only", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] DEFINED_ONLY_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: int defined_only: bool not_in: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, const: _Optional[int] = ..., defined_only: bool = ..., not_in: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, const: _Optional[int] = ..., defined_only: bool = ..., not_in: _Optional[_Iterable[int]] = ..., example: _Optional[_Iterable[int]] = ..., **kwargs) -> None: ... class RepeatedRules(_message.Message): __slots__ = ("min_items", "max_items", "unique", "items") + Extensions: _python_message._ExtensionDict MIN_ITEMS_FIELD_NUMBER: _ClassVar[int] MAX_ITEMS_FIELD_NUMBER: _ClassVar[int] UNIQUE_FIELD_NUMBER: _ClassVar[int] @@ -462,6 +528,7 @@ class RepeatedRules(_message.Message): class MapRules(_message.Message): __slots__ = ("min_pairs", "max_pairs", "keys", "values") + Extensions: _python_message._ExtensionDict MIN_PAIRS_FIELD_NUMBER: _ClassVar[int] MAX_PAIRS_FIELD_NUMBER: _ClassVar[int] KEYS_FIELD_NUMBER: _ClassVar[int] @@ -480,7 +547,8 @@ class AnyRules(_message.Message): def __init__(self, not_in: _Optional[_Iterable[str]] = ..., **kwargs) -> None: ... class DurationRules(_message.Message): - __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in") + __slots__ = ("const", "lt", "lte", "gt", "gte", "not_in", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -488,16 +556,19 @@ class DurationRules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] IN_FIELD_NUMBER: _ClassVar[int] NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: _duration_pb2.Duration lt: _duration_pb2.Duration lte: _duration_pb2.Duration gt: _duration_pb2.Duration gte: _duration_pb2.Duration not_in: _containers.RepeatedCompositeFieldContainer[_duration_pb2.Duration] - def __init__(self, const: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., lt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., lte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., gt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., gte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., not_in: _Optional[_Iterable[_Union[_duration_pb2.Duration, _Mapping]]] = ..., **kwargs) -> None: ... + example: _containers.RepeatedCompositeFieldContainer[_duration_pb2.Duration] + def __init__(self, const: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., lt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., lte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., gt: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., gte: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., not_in: _Optional[_Iterable[_Union[_duration_pb2.Duration, _Mapping]]] = ..., example: _Optional[_Iterable[_Union[_duration_pb2.Duration, _Mapping]]] = ..., **kwargs) -> None: ... class TimestampRules(_message.Message): - __slots__ = ("const", "lt", "lte", "lt_now", "gt", "gte", "gt_now", "within") + __slots__ = ("const", "lt", "lte", "lt_now", "gt", "gte", "gt_now", "within", "example") + Extensions: _python_message._ExtensionDict CONST_FIELD_NUMBER: _ClassVar[int] LT_FIELD_NUMBER: _ClassVar[int] LTE_FIELD_NUMBER: _ClassVar[int] @@ -506,6 +577,7 @@ class TimestampRules(_message.Message): GTE_FIELD_NUMBER: _ClassVar[int] GT_NOW_FIELD_NUMBER: _ClassVar[int] WITHIN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] const: _timestamp_pb2.Timestamp lt: _timestamp_pb2.Timestamp lte: _timestamp_pb2.Timestamp @@ -514,4 +586,23 @@ class TimestampRules(_message.Message): gte: _timestamp_pb2.Timestamp gt_now: bool within: _duration_pb2.Duration - def __init__(self, const: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lt_now: bool = ..., gt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., gte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., gt_now: bool = ..., within: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + example: _containers.RepeatedCompositeFieldContainer[_timestamp_pb2.Timestamp] + def __init__(self, const: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lt_now: bool = ..., gt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., gte: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., gt_now: bool = ..., within: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., example: _Optional[_Iterable[_Union[_timestamp_pb2.Timestamp, _Mapping]]] = ...) -> None: ... + +class Violations(_message.Message): + __slots__ = ("violations",) + VIOLATIONS_FIELD_NUMBER: _ClassVar[int] + violations: _containers.RepeatedCompositeFieldContainer[Violation] + def __init__(self, violations: _Optional[_Iterable[_Union[Violation, _Mapping]]] = ...) -> None: ... + +class Violation(_message.Message): + __slots__ = ("field_path", "constraint_id", "message", "for_key") + FIELD_PATH_FIELD_NUMBER: _ClassVar[int] + CONSTRAINT_ID_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + FOR_KEY_FIELD_NUMBER: _ClassVar[int] + field_path: str + constraint_id: str + message: str + for_key: bool + def __init__(self, field_path: _Optional[str] = ..., constraint_id: _Optional[str] = ..., message: _Optional[str] = ..., for_key: bool = ...) -> None: ... diff --git a/protovalidate/internal/constraints.py b/protovalidate/internal/constraints.py index 50a6f5d..a53b439 100644 --- a/protovalidate/internal/constraints.py +++ b/protovalidate/internal/constraints.py @@ -19,8 +19,7 @@ from celpy import celtypes # type: ignore from google.protobuf import any_pb2, descriptor, message, message_factory -from buf.validate import expression_pb2, validate_pb2 # type: ignore -from buf.validate.priv import private_pb2 # type: ignore +from buf.validate import validate_pb2 # type: ignore from protovalidate.internal import string_format from protovalidate.internal.cel_field_presence import InterpretedRunner, in_has @@ -79,8 +78,11 @@ def __init__(self, msg: message.Message): def __getitem__(self, name): field = self.desc.fields_by_name[name] - if not in_has() and field.has_presence and not self.msg.HasField(name): - return _zero_value(field) + if field.has_presence and not self.msg.HasField(name): + if in_has(): + raise KeyError() + else: + return _zero_value(field) return super().__getitem__(name) @@ -113,6 +115,20 @@ def _msg_to_cel(msg: message.Message) -> typing.Dict[str, celtypes.Value]: } +def _proto_message_has_field(msg: message.Message, field: descriptor.FieldDescriptor) -> typing.Any: + if field.is_extension: + return msg.HasExtension(field) # type: ignore + else: + return msg.HasField(field.name) + + +def _proto_message_get_field(msg: message.Message, field: descriptor.FieldDescriptor) -> typing.Any: + if field.is_extension: + return msg.Extensions[field] # type: ignore + else: + return getattr(msg, field.name) + + def _scalar_field_value_to_cel(val: typing.Any, field: descriptor.FieldDescriptor) -> celtypes.Value: ctor = _TYPE_TO_CTOR.get(field.type) if ctor is None: @@ -131,16 +147,16 @@ def _field_value_to_cel(val: typing.Any, field: descriptor.FieldDescriptor) -> c def _is_empty_field(msg: message.Message, field: descriptor.FieldDescriptor) -> bool: if field.has_presence: # type: ignore[attr-defined] - return not msg.HasField(field.name) + return not _proto_message_has_field(msg, field) if field.label == descriptor.FieldDescriptor.LABEL_REPEATED: - return len(getattr(msg, field.name)) == 0 - return getattr(msg, field.name) == field.default_value + return len(_proto_message_get_field(msg, field)) == 0 + return _proto_message_get_field(msg, field) == field.default_value def _repeated_field_to_cel(msg: message.Message, field: descriptor.FieldDescriptor) -> celtypes.Value: if field.message_type is not None and field.message_type.GetOptions().map_entry: return _map_field_to_cel(msg, field) - return _repeated_field_value_to_cel(getattr(msg, field.name), field) + return _repeated_field_value_to_cel(_proto_message_get_field(msg, field), field) def _repeated_field_value_to_cel(val: typing.Any, field: descriptor.FieldDescriptor) -> celtypes.Value: @@ -160,25 +176,25 @@ def _map_field_value_to_cel(mapping: typing.Any, field: descriptor.FieldDescript def _map_field_to_cel(msg: message.Message, field: descriptor.FieldDescriptor) -> celtypes.Value: - return _map_field_value_to_cel(getattr(msg, field.name), field) + return _map_field_value_to_cel(_proto_message_get_field(msg, field), field) def _field_to_cel(msg: message.Message, field: descriptor.FieldDescriptor) -> celtypes.Value: if field.label == descriptor.FieldDescriptor.LABEL_REPEATED: return _repeated_field_to_cel(msg, field) - elif field.message_type is not None and not msg.HasField(field.name): + elif field.message_type is not None and not _proto_message_has_field(msg, field): return None else: - return _scalar_field_value_to_cel(getattr(msg, field.name), field) + return _scalar_field_value_to_cel(_proto_message_get_field(msg, field), field) class ConstraintContext: """The state associated with a single constraint evaluation.""" - def __init__(self, fail_fast: bool = False, violations: expression_pb2.Violations = None): # noqa: FBT001, FBT002 + def __init__(self, fail_fast: bool = False, violations: validate_pb2.Violations = None): # noqa: FBT001, FBT002 self._fail_fast = fail_fast if violations is None: - violations = expression_pb2.Violations() + violations = validate_pb2.Violations() self._violations = violations @property @@ -186,12 +202,12 @@ def fail_fast(self) -> bool: return self._fail_fast @property - def violations(self) -> expression_pb2.Violations: + def violations(self) -> validate_pb2.Violations: return self._violations def add(self, field_name: str, constraint_id: str, message: str, *, for_key: bool = False): self._violations.violations.append( - expression_pb2.Violation( + validate_pb2.Violation( field_path=field_name, constraint_id=constraint_id, message=message, @@ -231,7 +247,7 @@ def validate(self, ctx: ConstraintContext, message: message.Message): # noqa: A class CelConstraintRules(ConstraintRules): """A constraint that has rules written in CEL.""" - _runners: typing.List[typing.Tuple[celpy.Runner, typing.Union[expression_pb2.Constraint, private_pb2.Constraint]]] + _runners: typing.List[typing.Tuple[celpy.Runner, validate_pb2.Constraint, typing.Optional[celtypes.Value]]] _rules_cel: celtypes.Value = None def __init__(self, rules: typing.Optional[message.Message]): @@ -249,7 +265,8 @@ def _validate_cel( ): activation["rules"] = self._rules_cel activation["now"] = celtypes.TimestampType(datetime.datetime.now(tz=datetime.timezone.utc)) - for runner, constraint in self._runners: + for runner, constraint, rule in self._runners: + activation["rule"] = rule result = runner.evaluate(activation) if isinstance(result, celtypes.BoolType): if not result: @@ -264,11 +281,13 @@ def add_rule( self, env: celpy.Environment, funcs: typing.Dict[str, celpy.CELFunction], - rules: typing.Union[expression_pb2.Constraint, private_pb2.Constraint], + rules: validate_pb2.Constraint, + *, + rule: typing.Optional[celtypes.Value] = None, ): ast = env.compile(rules.expression) prog = env.program(ast, functions=funcs) - self._runners.append((prog, rules)) + self._runners.append((prog, rules, rule)) class MessageConstraintRules(CelConstraintRules): @@ -341,9 +360,9 @@ def __init__( # For each set field in the message, look for the private constraint # extension. for list_field, _ in rules.ListFields(): - if private_pb2.field in list_field.GetOptions().Extensions: - for cel in list_field.GetOptions().Extensions[private_pb2.field].cel: - self.add_rule(env, funcs, cel) + if validate_pb2.predefined in list_field.GetOptions().Extensions: + for cel in list_field.GetOptions().Extensions[validate_pb2.predefined].cel: + self.add_rule(env, funcs, cel, rule=_field_to_cel(rules, list_field)) for cel in field_level.cel: self.add_rule(env, funcs, cel) diff --git a/protovalidate/validator.py b/protovalidate/validator.py index 3b6f20d..8fe588f 100644 --- a/protovalidate/validator.py +++ b/protovalidate/validator.py @@ -16,12 +16,12 @@ from google.protobuf import message -from buf.validate import expression_pb2 # type: ignore +from buf.validate import validate_pb2 # type: ignore from protovalidate.internal import constraints as _constraints from protovalidate.internal import extra_func CompilationError = _constraints.CompilationError -Violations = expression_pb2.Violations +Violations = validate_pb2.Violations class Validator: @@ -65,8 +65,8 @@ def collect_violations( message: message.Message, *, fail_fast: bool = False, - into: expression_pb2.Violations = None, - ) -> expression_pb2.Violations: + into: validate_pb2.Violations = None, + ) -> validate_pb2.Violations: """ Validates the given message against the static constraints defined in the message's descriptor. Compared to validate, collect_violations is @@ -94,13 +94,13 @@ class ValidationError(ValueError): An error raised when a message fails to validate. """ - violations: expression_pb2.Violations + violations: validate_pb2.Violations - def __init__(self, msg: str, violations: expression_pb2.Violations): + def __init__(self, msg: str, violations: validate_pb2.Violations): super().__init__(msg) self.violations = violations - def errors(self) -> typing.List[expression_pb2.Violation]: + def errors(self) -> typing.List[validate_pb2.Violation]: """ Returns the validation errors as a simple Python list, rather than the Protobuf-specific collection type used by Violations. diff --git a/tests/conformance/runner.py b/tests/conformance/runner.py index 1a961fe..012fe6b 100644 --- a/tests/conformance/runner.py +++ b/tests/conformance/runner.py @@ -39,6 +39,9 @@ messages_pb2, # noqa: F401 numbers_pb2, # noqa: F401 oneofs_pb2, # noqa: F401 + predefined_rules_proto2_pb2, # noqa: F401 + predefined_rules_proto3_pb2, # noqa: F401 + predefined_rules_proto_editions_pb2, # noqa: F401 repeated_pb2, # noqa: F401 required_field_proto2_pb2, # noqa: F401 required_field_proto3_pb2, # noqa: F401