diff --git a/conformance/src/main/java/build/buf/validate/conformance/cases/BytesProto.java b/conformance/src/main/java/build/buf/validate/conformance/cases/BytesProto.java index ae923ea3..165e197f 100644 --- a/conformance/src/main/java/build/buf/validate/conformance/cases/BytesProto.java +++ b/conformance/src/main/java/build/buf/validate/conformance/cases/BytesProto.java @@ -163,7 +163,7 @@ public static void registerAllExtensions( "B\007\272H\004z\002X\000R\003val\"&\n\tBytesIPv6\022\031\n\003val\030\001 \001(\014" + "B\007\272H\004z\002`\001R\003val\")\n\014BytesNotIPv6\022\031\n\003val\030\001 " + "\001(\014B\007\272H\004z\002`\000R\003val\"/\n\017BytesIPv6Ignore\022\034\n\003" + - "val\030\001 \001(\014B\n\272H\007z\002`\001\320\001\001R\003val\"*\n\014BytesExamp" + + "val\030\001 \001(\014B\n\272H\007z\002`\001\330\001\001R\003val\"*\n\014BytesExamp" + "le\022\032\n\003val\030\001 \001(\014B\010\272H\005z\003r\001\231R\003valB\316\001\n$build" + ".buf.validate.conformance.casesB\nBytesPr" + "otoP\001\242\002\004BVCC\252\002\036Buf.Validate.Conformance." + diff --git a/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProto2Proto.java b/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProto2Proto.java index ddd93d02..a40aafc6 100644 --- a/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProto2Proto.java +++ b/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProto2Proto.java @@ -83,22 +83,22 @@ public static void registerAllExtensions( "empty_proto2.proto\022\036buf.validate.conform" + "ance.cases\032\033buf/validate/validate.proto\"" + "?\n\037IgnoreEmptyProto2ScalarOptional\022\034\n\003va" + - "l\030\001 \001(\005B\n\272H\007\032\002 \000\320\001\001R\003val\"N\n*IgnoreEmptyP" + + "l\030\001 \001(\005B\n\272H\007\032\002 \000\330\001\001R\003val\"N\n*IgnoreEmptyP" + "roto2ScalarOptionalWithDefault\022 \n\003val\030\001 " + - "\001(\005:\00242B\n\272H\007\032\002 \000\320\001\001R\003val\"?\n\037IgnoreEmptyP" + + "\001(\005:\00242B\n\272H\007\032\002 \000\330\001\001R\003val\"?\n\037IgnoreEmptyP" + "roto2ScalarRequired\022\034\n\003val\030\001 \002(\005B\n\272H\007\032\002 " + - "\000\320\001\001R\003val\"\307\001\n\030IgnoreEmptyProto2Message\022\221" + + "\000\330\001\001R\003val\"\307\001\n\030IgnoreEmptyProto2Message\022\221" + "\001\n\003val\030\001 \001(\0132<.buf.validate.conformance." + "cases.IgnoreEmptyProto2Message.MsgBA\272H>\272" + "\0018\n\033ignore_empty.proto2.message\022\006foobar\032" + - "\021this.val == \'foo\'\320\001\001R\003val\032\027\n\003Msg\022\020\n\003val" + + "\021this.val == \'foo\'\330\001\001R\003val\032\027\n\003Msg\022\020\n\003val" + "\030\001 \001(\tR\003val\"=\n\026IgnoreEmptyProto2Oneof\022\036\n" + - "\003val\030\001 \001(\005B\n\272H\007\032\002 \000\320\001\001H\000R\003valB\003\n\001o\":\n\031Ig" + + "\003val\030\001 \001(\005B\n\272H\007\032\002 \000\330\001\001H\000R\003valB\003\n\001o\":\n\031Ig" + "noreEmptyProto2Repeated\022\035\n\003val\030\001 \003(\005B\013\272H" + - "\010\222\001\002\010\003\320\001\001R\003val\"\254\001\n\024IgnoreEmptyProto2Map\022" + + "\010\222\001\002\010\003\330\001\001R\003val\"\254\001\n\024IgnoreEmptyProto2Map\022" + "\\\n\003val\030\001 \003(\0132=.buf.validate.conformance." + "cases.IgnoreEmptyProto2Map.ValEntryB\013\272H\010" + - "\232\001\002\010\003\320\001\001R\003val\0326\n\010ValEntry\022\020\n\003key\030\001 \001(\005R\003" + + "\232\001\002\010\003\330\001\001R\003val\0326\n\010ValEntry\022\020\n\003key\030\001 \001(\005R\003" + "key\022\024\n\005value\030\002 \001(\005R\005value:\0028\001B\332\001\n$build." + "buf.validate.conformance.casesB\026IgnoreEm" + "ptyProto2ProtoP\001\242\002\004BVCC\252\002\036Buf.Validate.C" + diff --git a/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProto3Proto.java b/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProto3Proto.java index 10c039a7..fc7b1060 100644 --- a/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProto3Proto.java +++ b/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProto3Proto.java @@ -93,26 +93,26 @@ public static void registerAllExtensions( "empty_proto3.proto\022\036buf.validate.conform" + "ance.cases\032\033buf/validate/validate.proto\"" + "7\n\027IgnoreEmptyProto3Scalar\022\034\n\003val\030\001 \001(\005B" + - "\n\272H\007\032\002 \000\320\001\001R\003val\"L\n\037IgnoreEmptyProto3Opt" + - "ionalScalar\022!\n\003val\030\001 \001(\005B\n\272H\007\032\002 \000\320\001\001H\000R\003" + + "\n\272H\007\032\002 \000\330\001\001R\003val\"L\n\037IgnoreEmptyProto3Opt" + + "ionalScalar\022!\n\003val\030\001 \001(\005B\n\272H\007\032\002 \000\330\001\001H\000R\003" + "val\210\001\001B\006\n\004_val\"\324\001\n\030IgnoreEmptyProto3Mess" + "age\022\226\001\n\003val\030\001 \001(\0132<.buf.validate.conform" + "ance.cases.IgnoreEmptyProto3Message.MsgB" + "A\272H>\272\0018\n\033ignore_empty.proto3.message\022\006fo" + - "obar\032\021this.val == \'foo\'\320\001\001H\000R\003val\210\001\001\032\027\n\003" + + "obar\032\021this.val == \'foo\'\330\001\001H\000R\003val\210\001\001\032\027\n\003" + "Msg\022\020\n\003val\030\001 \001(\tR\003valB\006\n\004_val\"=\n\026IgnoreE" + - "mptyProto3Oneof\022\036\n\003val\030\001 \001(\005B\n\272H\007\032\002 \000\320\001\001" + + "mptyProto3Oneof\022\036\n\003val\030\001 \001(\005B\n\272H\007\032\002 \000\330\001\001" + "H\000R\003valB\003\n\001o\":\n\031IgnoreEmptyProto3Repeate" + - "d\022\035\n\003val\030\001 \003(\005B\013\272H\010\222\001\002\010\003\320\001\001R\003val\"\254\001\n\024Ign" + + "d\022\035\n\003val\030\001 \003(\005B\013\272H\010\222\001\002\010\003\330\001\001R\003val\"\254\001\n\024Ign" + "oreEmptyProto3Map\022\\\n\003val\030\001 \003(\0132=.buf.val" + "idate.conformance.cases.IgnoreEmptyProto" + - "3Map.ValEntryB\013\272H\010\232\001\002\010\003\320\001\001R\003val\0326\n\010ValEn" + + "3Map.ValEntryB\013\272H\010\232\001\002\010\003\330\001\001R\003val\0326\n\010ValEn" + "try\022\020\n\003key\030\001 \001(\005R\003key\022\024\n\005value\030\002 \001(\005R\005va" + "lue:\0028\001\"=\n\030IgnoreEmptyRepeatedItems\022!\n\003v" + - "al\030\001 \003(\005B\017\272H\014\222\001\t\"\007\032\002 \000\320\001\001R\003val\"\267\001\n\023Ignor" + + "al\030\001 \003(\005B\017\272H\014\222\001\t\"\007\032\002 \000\330\001\001R\003val\"\267\001\n\023Ignor" + "eEmptyMapPairs\022h\n\003val\030\001 \003(\0132<.buf.valida" + "te.conformance.cases.IgnoreEmptyMapPairs" + - ".ValEntryB\030\272H\025\232\001\022\"\007r\002\020\003\320\001\001*\007\032\002 \000\320\001\001R\003val" + + ".ValEntryB\030\272H\025\232\001\022\"\007r\002\020\003\330\001\001*\007\032\002 \000\330\001\001R\003val" + "\0326\n\010ValEntry\022\020\n\003key\030\001 \001(\tR\003key\022\024\n\005value\030" + "\002 \001(\005R\005value:\0028\001B\332\001\n$build.buf.validate." + "conformance.casesB\026IgnoreEmptyProto3Prot" + diff --git a/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProtoEditionsProto.java b/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProtoEditionsProto.java index 6e356ee7..08161462 100644 --- a/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProtoEditionsProto.java +++ b/conformance/src/main/java/build/buf/validate/conformance/cases/IgnoreEmptyProtoEditionsProto.java @@ -128,49 +128,49 @@ public static void registerAllExtensions( "empty_proto_editions.proto\022\036buf.validate" + ".conformance.cases\032\033buf/validate/validat" + "e.proto\"I\n)IgnoreEmptyEditionsScalarExpl" + - "icitPresence\022\034\n\003val\030\001 \001(\005B\n\272H\007\032\002 \000\320\001\001R\003v" + + "icitPresence\022\034\n\003val\030\001 \001(\005B\n\272H\007\032\002 \000\330\001\001R\003v" + "al\"X\n4IgnoreEmptyEditionsScalarExplicitP" + "resenceWithDefault\022 \n\003val\030\001 \001(\005:\00242B\n\272H\007" + - "\032\002 \000\320\001\001R\003val\"N\n)IgnoreEmptyEditionsScala" + + "\032\002 \000\330\001\001R\003val\"N\n)IgnoreEmptyEditionsScala" + "rImplicitPresence\022!\n\003val\030\001 \001(\005B\017\252\001\002\010\002\272H\007" + - "\032\002 \000\320\001\001R\003val\"L\n\'IgnoreEmptyEditionsScala" + + "\032\002 \000\330\001\001R\003val\"L\n\'IgnoreEmptyEditionsScala" + "rLegacyRequired\022!\n\003val\030\001 \001(\005B\017\252\001\002\010\003\272H\007\032\002" + - " \000\320\001\001R\003val\"[\n2IgnoreEmptyEditionsScalarL" + + " \000\330\001\001R\003val\"[\n2IgnoreEmptyEditionsScalarL" + "egacyRequiredWithDefault\022%\n\003val\030\001 \001(\005:\0024" + - "2B\017\252\001\002\010\003\272H\007\032\002 \000\320\001\001R\003val\"\355\001\n*IgnoreEmptyE" + + "2B\017\252\001\002\010\003\272H\007\032\002 \000\330\001\001R\003val\"\355\001\n*IgnoreEmptyE" + "ditionsMessageExplicitPresence\022\245\001\n\003val\030\001" + " \001(\0132N.buf.validate.conformance.cases.Ig" + "noreEmptyEditionsMessageExplicitPresence" + ".MsgBC\272H@\272\001:\n\035ignore_empty.editions.mess" + - "age\022\006foobar\032\021this.val == \'foo\'\320\001\001R\003val\032\027" + + "age\022\006foobar\032\021this.val == \'foo\'\330\001\001R\003val\032\027" + "\n\003Msg\022\020\n\003val\030\001 \001(\tR\003val\"\204\002\n3IgnoreEmptyE" + "ditionsMessageExplicitPresenceDelimited\022" + "\263\001\n\003val\030\001 \001(\0132W.buf.validate.conformance" + ".cases.IgnoreEmptyEditionsMessageExplici" + "tPresenceDelimited.MsgBH\252\001\002(\002\272H@\272\001:\n\035ign" + "ore_empty.editions.message\022\006foobar\032\021this" + - ".val == \'foo\'\320\001\001R\003val\032\027\n\003Msg\022\020\n\003val\030\001 \001(" + + ".val == \'foo\'\330\001\001R\003val\032\027\n\003Msg\022\020\n\003val\030\001 \001(" + "\tR\003val\"\356\001\n(IgnoreEmptyEditionsMessageLeg" + "acyRequired\022\250\001\n\003val\030\001 \001(\0132L.buf.validate" + ".conformance.cases.IgnoreEmptyEditionsMe" + "ssageLegacyRequired.MsgBH\252\001\002\010\003\272H@\272\001:\n\035ig" + "nore_empty.editions.message\022\006foobar\032\021thi" + - "s.val == \'foo\'\320\001\001R\003val\032\027\n\003Msg\022\020\n\003val\030\001 \001" + + "s.val == \'foo\'\330\001\001R\003val\032\027\n\003Msg\022\020\n\003val\030\001 \001" + "(\tR\003val\"\202\002\n1IgnoreEmptyEditionsMessageLe" + "gacyRequiredDelimited\022\263\001\n\003val\030\001 \001(\0132U.bu" + "f.validate.conformance.cases.IgnoreEmpty" + "EditionsMessageLegacyRequiredDelimited.M" + "sgBJ\252\001\004\010\003(\002\272H@\272\001:\n\035ignore_empty.editions" + - ".message\022\006foobar\032\021this.val == \'foo\'\320\001\001R\003" + + ".message\022\006foobar\032\021this.val == \'foo\'\330\001\001R\003" + "val\032\027\n\003Msg\022\020\n\003val\030\001 \001(\tR\003val\"?\n\030IgnoreEm" + - "ptyEditionsOneof\022\036\n\003val\030\001 \001(\005B\n\272H\007\032\002 \000\320\001" + + "ptyEditionsOneof\022\036\n\003val\030\001 \001(\005B\n\272H\007\032\002 \000\330\001" + "\001H\000R\003valB\003\n\001o\"<\n\033IgnoreEmptyEditionsRepe" + - "ated\022\035\n\003val\030\001 \003(\005B\013\272H\010\222\001\002\010\003\320\001\001R\003val\"I\n#I" + + "ated\022\035\n\003val\030\001 \003(\005B\013\272H\010\222\001\002\010\003\330\001\001R\003val\"I\n#I" + "gnoreEmptyEditionsRepeatedExpanded\022\"\n\003va" + - "l\030\001 \003(\005B\020\252\001\002\030\002\272H\010\222\001\002\010\003\320\001\001R\003val\"\260\001\n\026Ignor" + + "l\030\001 \003(\005B\020\252\001\002\030\002\272H\010\222\001\002\010\003\330\001\001R\003val\"\260\001\n\026Ignor" + "eEmptyEditionsMap\022^\n\003val\030\001 \003(\0132?.buf.val" + "idate.conformance.cases.IgnoreEmptyEditi" + - "onsMap.ValEntryB\013\272H\010\232\001\002\010\003\320\001\001R\003val\0326\n\010Val" + + "onsMap.ValEntryB\013\272H\010\232\001\002\010\003\330\001\001R\003val\0326\n\010Val" + "Entry\022\020\n\003key\030\001 \001(\005R\003key\022\024\n\005value\030\002 \001(\005R\005" + "value:\0028\001B\341\001\n$build.buf.validate.conform" + "ance.casesB\035IgnoreEmptyProtoEditionsProt" + diff --git a/conformance/src/main/java/build/buf/validate/conformance/cases/MapsProto.java b/conformance/src/main/java/build/buf/validate/conformance/cases/MapsProto.java index 808f6b40..8a3869d9 100644 --- a/conformance/src/main/java/build/buf/validate/conformance/cases/MapsProto.java +++ b/conformance/src/main/java/build/buf/validate/conformance/cases/MapsProto.java @@ -214,7 +214,7 @@ public static void registerAllExtensions( "gR\005value:\0028\001\032 \n\003Msg\022\031\n\003val\030\001 \001(\tB\007\272H\004r\002\020" + "\003R\003val\"\242\001\n\016MapExactIgnore\022X\n\003val\030\001 \003(\01327" + ".buf.validate.conformance.cases.MapExact" + - "Ignore.ValEntryB\r\272H\n\232\001\004\010\003\020\003\320\001\001R\003val\0326\n\010V" + + "Ignore.ValEntryB\r\272H\n\232\001\004\010\003\020\003\330\001\001R\003val\0326\n\010V" + "alEntry\022\020\n\003key\030\001 \001(\004R\003key\022\024\n\005value\030\002 \001(\t" + "R\005value:\0028\001\"\327\003\n\014MultipleMaps\022[\n\005first\030\001 " + "\003(\01327.buf.validate.conformance.cases.Mul" + diff --git a/conformance/src/main/java/build/buf/validate/conformance/cases/NumbersProto.java b/conformance/src/main/java/build/buf/validate/conformance/cases/NumbersProto.java index 9ee7d992..91e436b1 100644 --- a/conformance/src/main/java/build/buf/validate/conformance/cases/NumbersProto.java +++ b/conformance/src/main/java/build/buf/validate/conformance/cases/NumbersProto.java @@ -983,7 +983,7 @@ public static void registerAllExtensions( "\n\013FloatFinite\022\031\n\003val\030\001 \001(\002B\007\272H\004\n\002@\001R\003val" + "\"+\n\016FloatNotFinite\022\031\n\003val\030\001 \001(\002B\007\272H\004\n\002@\000" + "R\003val\"3\n\013FloatIgnore\022$\n\003val\030\001 \001(\002B\022\272H\017\n\n" + - "\035\000\000\200C-\000\000\000C\320\001\001R\003val\"6\n\022FloatIncorrectType" + + "\035\000\000\200C-\000\000\000C\330\001\001R\003val\"6\n\022FloatIncorrectType" + "\022 \n\003val\030\001 \001(\002B\016\272H\013\022\t!\000\000\000\000\000\000\000\000R\003val\",\n\014Fl" + "oatExample\022\034\n\003val\030\001 \001(\002B\n\272H\007\n\005M\000\000\000AR\003val" + "\"\036\n\nDoubleNone\022\020\n\003val\030\001 \001(\001R\003val\"/\n\013Doub" + @@ -1004,7 +1004,7 @@ public static void registerAllExtensions( "p@R\003val\")\n\014DoubleFinite\022\031\n\003val\030\001 \001(\001B\007\272H" + "\004\022\002@\001R\003val\",\n\017DoubleNotFinite\022\031\n\003val\030\001 \001" + "(\001B\007\272H\004\022\002@\000R\003val\"<\n\014DoubleIgnore\022,\n\003val\030" + - "\001 \001(\001B\032\272H\027\022\022\031\000\000\000\000\000\000p@)\000\000\000\000\000\000`@\320\001\001R\003val\"3" + + "\001 \001(\001B\032\272H\027\022\022\031\000\000\000\000\000\000p@)\000\000\000\000\000\000`@\330\001\001R\003val\"3" + "\n\023DoubleIncorrectType\022\034\n\003val\030\001 \001(\001B\n\272H\007\n" + "\005%\000\000\000\000R\003val\"1\n\rDoubleExample\022 \n\003val\030\001 \001(" + "\001B\016\272H\013\022\tI\000\000\000\000\000\000\000\000R\003val\"\035\n\tInt32None\022\020\n\003v" + @@ -1020,7 +1020,7 @@ public static void registerAllExtensions( "\t\272H\006\032\004\020\000 \nR\003val\",\n\013Int32GTELTE\022\035\n\003val\030\001 " + "\001(\005B\013\272H\010\032\006\030\200\002(\200\001R\003val\".\n\rInt32ExGTELTE\022\035" + "\n\003val\030\001 \001(\005B\013\272H\010\032\006\030\200\001(\200\002R\003val\"/\n\013Int32Ig" + - "nore\022 \n\003val\030\001 \001(\005B\016\272H\013\032\006\030\200\002(\200\001\320\001\001R\003val\"2" + + "nore\022 \n\003val\030\001 \001(\005B\016\272H\013\032\006\030\200\002(\200\001\330\001\001R\003val\"2" + "\n\022Int32IncorrectType\022\034\n\003val\030\001 \001(\005B\n\272H\007\n\005" + "%\000\000\000\000R\003val\")\n\014Int32Example\022\031\n\003val\030\001 \001(\005B" + "\007\272H\004\032\002@\nR\003val\"\035\n\tInt64None\022\020\n\003val\030\001 \001(\003R" + @@ -1036,7 +1036,7 @@ public static void registerAllExtensions( "\nR\003val\",\n\013Int64GTELTE\022\035\n\003val\030\001 \001(\003B\013\272H\010\"" + "\006\030\200\002(\200\001R\003val\".\n\rInt64ExGTELTE\022\035\n\003val\030\001 \001" + "(\003B\013\272H\010\"\006\030\200\001(\200\002R\003val\"/\n\013Int64Ignore\022 \n\003v" + - "al\030\001 \001(\003B\016\272H\013\"\006\030\200\002(\200\001\320\001\001R\003val\"\214\004\n\023Int64B" + + "al\030\001 \001(\003B\016\272H\013\"\006\030\200\002(\200\001\330\001\001R\003val\"\214\004\n\023Int64B" + "igConstraints\022\"\n\006lt_pos\030\001 \001(\003B\013\272H\010\"\006\020\246\335\207" + "\244\024R\005ltPos\022\'\n\006lt_neg\030\002 \001(\003B\020\272H\r\"\013\020\332\242\370\333\353\377\377" + "\377\377\001R\005ltNeg\022\"\n\006gt_pos\030\003 \001(\003B\013\272H\010\"\006 \246\335\207\244\024R" + @@ -1065,7 +1065,7 @@ public static void registerAllExtensions( "\272H\006*\004\020\005 \nR\003val\"-\n\014UInt32GTELTE\022\035\n\003val\030\001 " + "\001(\rB\013\272H\010*\006\030\200\002(\200\001R\003val\"/\n\016UInt32ExGTELTE\022" + "\035\n\003val\030\001 \001(\rB\013\272H\010*\006\030\200\001(\200\002R\003val\"0\n\014UInt32" + - "Ignore\022 \n\003val\030\001 \001(\rB\016\272H\013*\006\030\200\002(\200\001\320\001\001R\003val" + + "Ignore\022 \n\003val\030\001 \001(\rB\016\272H\013*\006\030\200\002(\200\001\330\001\001R\003val" + "\"3\n\023UInt32IncorrectType\022\034\n\003val\030\001 \001(\rB\n\272H" + "\007\n\005%\000\000\000\000R\003val\"*\n\rUInt32Example\022\031\n\003val\030\001 " + "\001(\rB\007\272H\004*\002@\000R\003val\"\036\n\nUInt64None\022\020\n\003val\030\001" + @@ -1081,7 +1081,7 @@ public static void registerAllExtensions( " \001(\004B\t\272H\0062\004\020\005 \nR\003val\"-\n\014UInt64GTELTE\022\035\n\003" + "val\030\001 \001(\004B\013\272H\0102\006\030\200\002(\200\001R\003val\"/\n\016UInt64ExG" + "TELTE\022\035\n\003val\030\001 \001(\004B\013\272H\0102\006\030\200\001(\200\002R\003val\"0\n\014" + - "UInt64Ignore\022 \n\003val\030\001 \001(\004B\016\272H\0132\006\030\200\002(\200\001\320\001" + + "UInt64Ignore\022 \n\003val\030\001 \001(\004B\016\272H\0132\006\030\200\002(\200\001\330\001" + "\001R\003val\"3\n\023UInt64IncorrectType\022\034\n\003val\030\001 \001" + "(\004B\n\272H\007\n\005%\000\000\000\000R\003val\"*\n\rUInt64Example\022\031\n\003" + "val\030\001 \001(\004B\007\272H\0042\002@\000R\003val\"\036\n\nSInt32None\022\020\n" + @@ -1098,7 +1098,7 @@ public static void registerAllExtensions( "LTE\022\035\n\003val\030\001 \001(\021B\013\272H\010:\006\030\200\004(\200\002R\003val\"/\n\016SI" + "nt32ExGTELTE\022\035\n\003val\030\001 \001(\021B\013\272H\010:\006\030\200\002(\200\004R\003" + "val\"0\n\014SInt32Ignore\022 \n\003val\030\001 \001(\021B\016\272H\013:\006\030" + - "\200\004(\200\002\320\001\001R\003val\"3\n\023SInt32IncorrectType\022\034\n\003" + + "\200\004(\200\002\330\001\001R\003val\"3\n\023SInt32IncorrectType\022\034\n\003" + "val\030\001 \001(\021B\n\272H\007\n\005%\000\000\000\000R\003val\"*\n\rSInt32Exam" + "ple\022\031\n\003val\030\001 \001(\021B\007\272H\004:\002@\000R\003val\"\036\n\nSInt64" + "None\022\020\n\003val\030\001 \001(\022R\003val\"(\n\013SInt64Const\022\031\n" + @@ -1114,7 +1114,7 @@ public static void registerAllExtensions( "nt64GTELTE\022\035\n\003val\030\001 \001(\022B\013\272H\010B\006\030\200\004(\200\002R\003va" + "l\"/\n\016SInt64ExGTELTE\022\035\n\003val\030\001 \001(\022B\013\272H\010B\006\030" + "\200\002(\200\004R\003val\"0\n\014SInt64Ignore\022 \n\003val\030\001 \001(\022B" + - "\016\272H\013B\006\030\200\004(\200\002\320\001\001R\003val\"3\n\023SInt64IncorrectT" + + "\016\272H\013B\006\030\200\004(\200\002\330\001\001R\003val\"3\n\023SInt64IncorrectT" + "ype\022\034\n\003val\030\001 \001(\022B\n\272H\007\n\005%\000\000\000\000R\003val\"*\n\rSIn" + "t64Example\022\031\n\003val\030\001 \001(\022B\007\272H\004B\002@\000R\003val\"\037\n" + "\013Fixed32None\022\020\n\003val\030\001 \001(\007R\003val\",\n\014Fixed3" + @@ -1131,7 +1131,7 @@ public static void registerAllExtensions( "\000R\003val\"2\n\rFixed32GTELTE\022!\n\003val\030\001 \001(\007B\017\272H" + "\014J\n\035\000\001\000\000-\200\000\000\000R\003val\"4\n\017Fixed32ExGTELTE\022!\n" + "\003val\030\001 \001(\007B\017\272H\014J\n\035\200\000\000\000-\000\001\000\000R\003val\"5\n\rFixe" + - "d32Ignore\022$\n\003val\030\001 \001(\007B\022\272H\017J\n\035\000\001\000\000-\200\000\000\000\320" + + "d32Ignore\022$\n\003val\030\001 \001(\007B\022\272H\017J\n\035\000\001\000\000-\200\000\000\000\330" + "\001\001R\003val\"4\n\024Fixed32IncorrectType\022\034\n\003val\030\001" + " \001(\007B\n\272H\007\n\005%\000\000\000\000R\003val\".\n\016Fixed32Example\022" + "\034\n\003val\030\001 \001(\007B\n\272H\007J\005E\000\000\000\000R\003val\"\037\n\013Fixed64" + @@ -1151,7 +1151,7 @@ public static void registerAllExtensions( "\024R\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000R\003val\"<\n\017Fixed64ExG" + "TELTE\022)\n\003val\030\001 \001(\006B\027\272H\024R\022\031\200\000\000\000\000\000\000\000)\000\001\000\000\000" + "\000\000\000R\003val\"=\n\rFixed64Ignore\022,\n\003val\030\001 \001(\006B\032" + - "\272H\027R\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\320\001\001R\003val\"4\n\024Fixed" + + "\272H\027R\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\330\001\001R\003val\"4\n\024Fixed" + "64IncorrectType\022\034\n\003val\030\001 \001(\006B\n\272H\007\n\005%\000\000\000\000" + "R\003val\"2\n\016Fixed64Example\022 \n\003val\030\001 \001(\006B\016\272H" + "\013R\tA\000\000\000\000\000\000\000\000R\003val\" \n\014SFixed32None\022\020\n\003val" + @@ -1169,7 +1169,7 @@ public static void registerAllExtensions( "SFixed32GTELTE\022!\n\003val\030\001 \001(\017B\017\272H\014Z\n\035\000\001\000\000-" + "\200\000\000\000R\003val\"5\n\020SFixed32ExGTELTE\022!\n\003val\030\001 \001" + "(\017B\017\272H\014Z\n\035\200\000\000\000-\000\001\000\000R\003val\"6\n\016SFixed32Igno" + - "re\022$\n\003val\030\001 \001(\017B\022\272H\017Z\n\035\000\001\000\000-\200\000\000\000\320\001\001R\003val" + + "re\022$\n\003val\030\001 \001(\017B\022\272H\017Z\n\035\000\001\000\000-\200\000\000\000\330\001\001R\003val" + "\"5\n\025SFixed32IncorrectType\022\034\n\003val\030\001 \001(\017B\n" + "\272H\007\n\005%\000\000\000\000R\003val\"/\n\017SFixed32Example\022\034\n\003va" + "l\030\001 \001(\017B\n\272H\007Z\005E\000\000\000\000R\003val\" \n\014SFixed64None" + @@ -1189,7 +1189,7 @@ public static void registerAllExtensions( "(\020B\027\272H\024b\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000R\003val\"=\n\020SFix" + "ed64ExGTELTE\022)\n\003val\030\001 \001(\020B\027\272H\024b\022\031\200\000\000\000\000\000\000" + "\000)\000\001\000\000\000\000\000\000R\003val\">\n\016SFixed64Ignore\022,\n\003val" + - "\030\001 \001(\020B\032\272H\027b\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\320\001\001R\003val\"" + + "\030\001 \001(\020B\032\272H\027b\022\031\000\001\000\000\000\000\000\000)\200\000\000\000\000\000\000\000\330\001\001R\003val\"" + "5\n\025SFixed64IncorrectType\022\034\n\003val\030\001 \001(\020B\n\272" + "H\007\n\005%\000\000\000\000R\003val\"3\n\017SFixed64Example\022 \n\003val" + "\030\001 \001(\020B\016\272H\013b\tA\000\000\000\000\000\000\000\000R\003val\":\n\020Int64LTEO" + diff --git a/conformance/src/main/java/build/buf/validate/conformance/cases/RepeatedProto.java b/conformance/src/main/java/build/buf/validate/conformance/cases/RepeatedProto.java index 69380a6c..15e0c83a 100644 --- a/conformance/src/main/java/build/buf/validate/conformance/cases/RepeatedProto.java +++ b/conformance/src/main/java/build/buf/validate/conformance/cases/RepeatedProto.java @@ -222,7 +222,7 @@ public static void registerAllExtensions( "\n\272H\007\222\001\004\010\001\020\003R\003val\"R\n\020RepeatedDuration\022>\n\003" + "val\030\001 \003(\0132\031.google.protobuf.DurationB\021\272H" + "\016\222\001\013\"\t\252\001\0062\004\020\300\204=R\003val\"6\n\023RepeatedExactIgn" + - "ore\022\037\n\003val\030\001 \003(\rB\r\272H\n\222\001\004\010\003\020\003\320\001\001R\003val*?\n\006" + + "ore\022\037\n\003val\030\001 \003(\rB\r\272H\n\222\001\004\010\003\020\003\330\001\001R\003val*?\n\006" + "AnEnum\022\027\n\023AN_ENUM_UNSPECIFIED\020\000\022\r\n\tAN_EN" + "UM_X\020\001\022\r\n\tAN_ENUM_Y\020\002B\321\001\n$build.buf.vali" + "date.conformance.casesB\rRepeatedProtoP\001\242" + diff --git a/conformance/src/main/java/build/buf/validate/conformance/cases/StringsProto.java b/conformance/src/main/java/build/buf/validate/conformance/cases/StringsProto.java index e69d9586..e41e2fef 100644 --- a/conformance/src/main/java/build/buf/validate/conformance/cases/StringsProto.java +++ b/conformance/src/main/java/build/buf/validate/conformance/cases/StringsProto.java @@ -409,7 +409,7 @@ public static void registerAllExtensions( "ingHttpHeaderNameLoose\022\035\n\003val\030\001 \001(\tB\013\272H\010" + "r\006\300\001\001\310\001\000R\003val\";\n\032StringHttpHeaderValueLo" + "ose\022\035\n\003val\030\001 \001(\tB\013\272H\010r\006\300\001\002\310\001\000R\003val\"1\n\020St" + - "ringUUIDIgnore\022\035\n\003val\030\001 \001(\tB\013\272H\010r\003\260\001\001\320\001\001" + + "ringUUIDIgnore\022\035\n\003val\030\001 \001(\tB\013\272H\010r\003\260\001\001\330\001\001" + "R\003val\"7\n\rStringInOneof\022\037\n\003bar\030\001 \001(\tB\013\272H\010" + "r\006R\001aR\001bH\000R\003barB\005\n\003foo\"/\n\021StringHostAndP" + "ort\022\032\n\003val\030\001 \001(\tB\010\272H\005r\003\200\002\001R\003val\"\244\001\n\031Stri" + diff --git a/gradle.properties b/gradle.properties index 3e31ce65..9e876d7a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Version of buf.build/bufbuild/protovalidate to use. -protovalidate.version = v0.9.0 +protovalidate.version = v0.10.0 # Arguments to the protovalidate-conformance CLI protovalidate.conformance.args = --strict --strict_message --strict_error diff --git a/src/main/java/build/buf/protovalidate/ConstraintViolation.java b/src/main/java/build/buf/protovalidate/ConstraintViolation.java index 3687d28a..4b46ddf4 100644 --- a/src/main/java/build/buf/protovalidate/ConstraintViolation.java +++ b/src/main/java/build/buf/protovalidate/ConstraintViolation.java @@ -204,8 +204,7 @@ public ConstraintViolation build() { protoBuilder.setForKey(true); } if (!fieldPath.isEmpty()) { - FieldPath field = FieldPath.newBuilder().addAllElements(fieldPath).build(); - protoBuilder.setField(field).setFieldPath(FieldPathUtils.fieldPathString(field)); + protoBuilder.setField(FieldPath.newBuilder().addAllElements(fieldPath)); } if (!rulePath.isEmpty()) { protoBuilder.setRule(FieldPath.newBuilder().addAllElements(rulePath)); diff --git a/src/main/java/build/buf/protovalidate/EvaluatorBuilder.java b/src/main/java/build/buf/protovalidate/EvaluatorBuilder.java index 94dc09c3..50923c64 100644 --- a/src/main/java/build/buf/protovalidate/EvaluatorBuilder.java +++ b/src/main/java/build/buf/protovalidate/EvaluatorBuilder.java @@ -236,13 +236,12 @@ private FieldEvaluator buildField( @SuppressWarnings("deprecation") private boolean shouldSkip(FieldConstraints constraints) { - return constraints.getSkipped() || constraints.getIgnore() == Ignore.IGNORE_ALWAYS; + return constraints.getIgnore() == Ignore.IGNORE_ALWAYS; } @SuppressWarnings("deprecation") private static boolean shouldIgnoreEmpty(FieldConstraints constraints) { - return constraints.getIgnoreEmpty() - || constraints.getIgnore() == Ignore.IGNORE_IF_UNPOPULATED + return constraints.getIgnore() == Ignore.IGNORE_IF_UNPOPULATED || constraints.getIgnore() == Ignore.IGNORE_IF_DEFAULT_VALUE; } diff --git a/src/main/java/build/buf/protovalidate/ValidationResult.java b/src/main/java/build/buf/protovalidate/ValidationResult.java index c8bacee8..39e793ce 100644 --- a/src/main/java/build/buf/protovalidate/ValidationResult.java +++ b/src/main/java/build/buf/protovalidate/ValidationResult.java @@ -72,8 +72,8 @@ public String toString() { builder.append("Validation error:"); for (Violation violation : violations) { builder.append("\n - "); - if (!violation.toProto().getFieldPath().isEmpty()) { - builder.append(violation.toProto().getFieldPath()); + if (!violation.toProto().hasField()) { + builder.append(FieldPathUtils.fieldPathString(violation.toProto().getField())); builder.append(": "); } builder.append( diff --git a/src/main/java/build/buf/validate/FieldConstraints.java b/src/main/java/build/buf/validate/FieldConstraints.java index 5af7c5ee..64f1a3b7 100644 --- a/src/main/java/build/buf/validate/FieldConstraints.java +++ b/src/main/java/build/buf/validate/FieldConstraints.java @@ -1052,68 +1052,6 @@ public build.buf.validate.TimestampRulesOrBuilder getTimestampOrBuilder() { return build.buf.validate.TimestampRules.getDefaultInstance(); } - public static final int SKIPPED_FIELD_NUMBER = 24; - private boolean skipped_ = false; - /** - *
- * DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. - *- * - *
optional bool skipped = 24 [json_name = "skipped", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.skipped is deprecated.
- * See buf/validate/validate.proto;l=245
- * @return Whether the skipped field is set.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean hasSkipped() {
- return ((bitField0_ & 0x00000004) != 0);
- }
- /**
- * - * DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. - *- * - *
optional bool skipped = 24 [json_name = "skipped", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.skipped is deprecated.
- * See buf/validate/validate.proto;l=245
- * @return The skipped.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean getSkipped() {
- return skipped_;
- }
-
- public static final int IGNORE_EMPTY_FIELD_NUMBER = 26;
- private boolean ignoreEmpty_ = false;
- /**
- * - * DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. - *- * - *
optional bool ignore_empty = 26 [json_name = "ignoreEmpty", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.ignore_empty is deprecated.
- * See buf/validate/validate.proto;l=247
- * @return Whether the ignoreEmpty field is set.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean hasIgnoreEmpty() {
- return ((bitField0_ & 0x00000008) != 0);
- }
- /**
- * - * DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. - *- * - *
optional bool ignore_empty = 26 [json_name = "ignoreEmpty", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.ignore_empty is deprecated.
- * See buf/validate/validate.proto;l=247
- * @return The ignoreEmpty.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean getIgnoreEmpty() {
- return ignoreEmpty_;
- }
-
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
@@ -1314,15 +1252,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
for (int i = 0; i < cel_.size(); i++) {
output.writeMessage(23, cel_.get(i));
}
- if (((bitField0_ & 0x00000004) != 0)) {
- output.writeBool(24, skipped_);
- }
if (((bitField0_ & 0x00000001) != 0)) {
output.writeBool(25, required_);
}
- if (((bitField0_ & 0x00000008) != 0)) {
- output.writeBool(26, ignoreEmpty_);
- }
if (((bitField0_ & 0x00000002) != 0)) {
output.writeEnum(27, ignore_);
}
@@ -1423,18 +1355,10 @@ public int getSerializedSize() {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(23, cel_.get(i));
}
- if (((bitField0_ & 0x00000004) != 0)) {
- size += com.google.protobuf.CodedOutputStream
- .computeBoolSize(24, skipped_);
- }
if (((bitField0_ & 0x00000001) != 0)) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(25, required_);
}
- if (((bitField0_ & 0x00000008) != 0)) {
- size += com.google.protobuf.CodedOutputStream
- .computeBoolSize(26, ignoreEmpty_);
- }
if (((bitField0_ & 0x00000002) != 0)) {
size += com.google.protobuf.CodedOutputStream
.computeEnumSize(27, ignore_);
@@ -1465,16 +1389,6 @@ public boolean equals(final java.lang.Object obj) {
if (hasIgnore()) {
if (ignore_ != other.ignore_) return false;
}
- if (hasSkipped() != other.hasSkipped()) return false;
- if (hasSkipped()) {
- if (getSkipped()
- != other.getSkipped()) return false;
- }
- if (hasIgnoreEmpty() != other.hasIgnoreEmpty()) return false;
- if (hasIgnoreEmpty()) {
- if (getIgnoreEmpty()
- != other.getIgnoreEmpty()) return false;
- }
if (!getTypeCase().equals(other.getTypeCase())) return false;
switch (typeCase_) {
case 1:
@@ -1588,16 +1502,6 @@ public int hashCode() {
hash = (37 * hash) + IGNORE_FIELD_NUMBER;
hash = (53 * hash) + ignore_;
}
- if (hasSkipped()) {
- hash = (37 * hash) + SKIPPED_FIELD_NUMBER;
- hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
- getSkipped());
- }
- if (hasIgnoreEmpty()) {
- hash = (37 * hash) + IGNORE_EMPTY_FIELD_NUMBER;
- hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
- getIgnoreEmpty());
- }
switch (typeCase_) {
case 1:
hash = (37 * hash) + FLOAT_FIELD_NUMBER;
@@ -1894,8 +1798,6 @@ public Builder clear() {
if (timestampBuilder_ != null) {
timestampBuilder_.clear();
}
- skipped_ = false;
- ignoreEmpty_ = false;
typeCase_ = 0;
type_ = null;
return this;
@@ -1954,14 +1856,6 @@ private void buildPartial0(build.buf.validate.FieldConstraints result) {
result.ignore_ = ignore_;
to_bitField0_ |= 0x00000002;
}
- if (((from_bitField0_ & 0x01000000) != 0)) {
- result.skipped_ = skipped_;
- to_bitField0_ |= 0x00000004;
- }
- if (((from_bitField0_ & 0x02000000) != 0)) {
- result.ignoreEmpty_ = ignoreEmpty_;
- to_bitField0_ |= 0x00000008;
- }
result.bitField0_ |= to_bitField0_;
}
@@ -2098,12 +1992,6 @@ public Builder mergeFrom(build.buf.validate.FieldConstraints other) {
if (other.hasIgnore()) {
setIgnore(other.getIgnore());
}
- if (other.hasSkipped()) {
- setSkipped(other.getSkipped());
- }
- if (other.hasIgnoreEmpty()) {
- setIgnoreEmpty(other.getIgnoreEmpty());
- }
switch (other.getTypeCase()) {
case FLOAT: {
mergeFloat(other.getFloat());
@@ -2479,21 +2367,11 @@ public Builder mergeFrom(
}
break;
} // case 186
- case 192: {
- skipped_ = input.readBool();
- bitField0_ |= 0x01000000;
- break;
- } // case 192
case 200: {
required_ = input.readBool();
bitField0_ |= 0x00000002;
break;
} // case 200
- case 208: {
- ignoreEmpty_ = input.readBool();
- bitField0_ |= 0x02000000;
- break;
- } // case 208
case 216: {
int tmpRaw = input.readEnum();
build.buf.validate.Ignore tmpValue =
@@ -6400,134 +6278,6 @@ public build.buf.validate.TimestampRulesOrBuilder getTimestampOrBuilder() {
return timestampBuilder_;
}
- private boolean skipped_ ;
- /**
- * - * DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. - *- * - *
optional bool skipped = 24 [json_name = "skipped", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.skipped is deprecated.
- * See buf/validate/validate.proto;l=245
- * @return Whether the skipped field is set.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean hasSkipped() {
- return ((bitField0_ & 0x01000000) != 0);
- }
- /**
- * - * DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. - *- * - *
optional bool skipped = 24 [json_name = "skipped", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.skipped is deprecated.
- * See buf/validate/validate.proto;l=245
- * @return The skipped.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean getSkipped() {
- return skipped_;
- }
- /**
- * - * DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. - *- * - *
optional bool skipped = 24 [json_name = "skipped", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.skipped is deprecated.
- * See buf/validate/validate.proto;l=245
- * @param value The skipped to set.
- * @return This builder for chaining.
- */
- @java.lang.Deprecated public Builder setSkipped(boolean value) {
-
- skipped_ = value;
- bitField0_ |= 0x01000000;
- onChanged();
- return this;
- }
- /**
- * - * DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. - *- * - *
optional bool skipped = 24 [json_name = "skipped", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.skipped is deprecated.
- * See buf/validate/validate.proto;l=245
- * @return This builder for chaining.
- */
- @java.lang.Deprecated public Builder clearSkipped() {
- bitField0_ = (bitField0_ & ~0x01000000);
- skipped_ = false;
- onChanged();
- return this;
- }
-
- private boolean ignoreEmpty_ ;
- /**
- * - * DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. - *- * - *
optional bool ignore_empty = 26 [json_name = "ignoreEmpty", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.ignore_empty is deprecated.
- * See buf/validate/validate.proto;l=247
- * @return Whether the ignoreEmpty field is set.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean hasIgnoreEmpty() {
- return ((bitField0_ & 0x02000000) != 0);
- }
- /**
- * - * DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. - *- * - *
optional bool ignore_empty = 26 [json_name = "ignoreEmpty", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.ignore_empty is deprecated.
- * See buf/validate/validate.proto;l=247
- * @return The ignoreEmpty.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean getIgnoreEmpty() {
- return ignoreEmpty_;
- }
- /**
- * - * DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. - *- * - *
optional bool ignore_empty = 26 [json_name = "ignoreEmpty", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.ignore_empty is deprecated.
- * See buf/validate/validate.proto;l=247
- * @param value The ignoreEmpty to set.
- * @return This builder for chaining.
- */
- @java.lang.Deprecated public Builder setIgnoreEmpty(boolean value) {
-
- ignoreEmpty_ = value;
- bitField0_ |= 0x02000000;
- onChanged();
- return this;
- }
- /**
- * - * DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. - *- * - *
optional bool ignore_empty = 26 [json_name = "ignoreEmpty", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.ignore_empty is deprecated.
- * See buf/validate/validate.proto;l=247
- * @return This builder for chaining.
- */
- @java.lang.Deprecated public Builder clearIgnoreEmpty() {
- bitField0_ = (bitField0_ & ~0x02000000);
- ignoreEmpty_ = false;
- onChanged();
- return this;
- }
-
// @@protoc_insertion_point(builder_scope:buf.validate.FieldConstraints)
}
diff --git a/src/main/java/build/buf/validate/FieldConstraintsOrBuilder.java b/src/main/java/build/buf/validate/FieldConstraintsOrBuilder.java
index f1d4b98e..b6c9caf5 100644
--- a/src/main/java/build/buf/validate/FieldConstraintsOrBuilder.java
+++ b/src/main/java/build/buf/validate/FieldConstraintsOrBuilder.java
@@ -563,51 +563,5 @@ build.buf.validate.ConstraintOrBuilder getCelOrBuilder(
*/
build.buf.validate.TimestampRulesOrBuilder getTimestampOrBuilder();
- /**
- * - * DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. - *- * - *
optional bool skipped = 24 [json_name = "skipped", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.skipped is deprecated.
- * See buf/validate/validate.proto;l=245
- * @return Whether the skipped field is set.
- */
- @java.lang.Deprecated boolean hasSkipped();
- /**
- * - * DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1. - *- * - *
optional bool skipped = 24 [json_name = "skipped", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.skipped is deprecated.
- * See buf/validate/validate.proto;l=245
- * @return The skipped.
- */
- @java.lang.Deprecated boolean getSkipped();
-
- /**
- * - * DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. - *- * - *
optional bool ignore_empty = 26 [json_name = "ignoreEmpty", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.ignore_empty is deprecated.
- * See buf/validate/validate.proto;l=247
- * @return Whether the ignoreEmpty field is set.
- */
- @java.lang.Deprecated boolean hasIgnoreEmpty();
- /**
- * - * DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1. - *- * - *
optional bool ignore_empty = 26 [json_name = "ignoreEmpty", deprecated = true];
- * @deprecated buf.validate.FieldConstraints.ignore_empty is deprecated.
- * See buf/validate/validate.proto;l=247
- * @return The ignoreEmpty.
- */
- @java.lang.Deprecated boolean getIgnoreEmpty();
-
build.buf.validate.FieldConstraints.TypeCase getTypeCase();
}
diff --git a/src/main/java/build/buf/validate/Ignore.java b/src/main/java/build/buf/validate/Ignore.java
index f9d9249c..7da3b71f 100644
--- a/src/main/java/build/buf/validate/Ignore.java
+++ b/src/main/java/build/buf/validate/Ignore.java
@@ -54,8 +54,7 @@ public enum Ignore
/**
*
* Validation is skipped if the field is unpopulated. This rule is redundant
- * if the field is already nullable. This value is equivalent behavior to the
- * deprecated ignore_empty rule.
+ * if the field is already nullable.
*
* ```proto
* syntax="proto3
@@ -189,22 +188,6 @@ public enum Ignore
/* suffix= */ "",
Ignore.class.getName());
}
- /**
- *
- * Deprecated: Use IGNORE_IF_UNPOPULATED instead. TODO: Remove this value pre-v1.
- *
- *
- * IGNORE_EMPTY = 1 [deprecated = true];
- */
- public static final Ignore IGNORE_EMPTY = IGNORE_IF_UNPOPULATED;
- /**
- *
- * Deprecated: Use IGNORE_IF_DEFAULT_VALUE. TODO: Remove this value pre-v1.
- *
- *
- * IGNORE_DEFAULT = 2 [deprecated = true];
- */
- public static final Ignore IGNORE_DEFAULT = IGNORE_IF_DEFAULT_VALUE;
/**
*
* Validation is only skipped if it's an unpopulated nullable fields.
@@ -244,8 +227,7 @@ public enum Ignore
/**
*
* Validation is skipped if the field is unpopulated. This rule is redundant
- * if the field is already nullable. This value is equivalent behavior to the
- * deprecated ignore_empty rule.
+ * if the field is already nullable.
*
* ```proto
* syntax="proto3
@@ -368,22 +350,6 @@ public enum Ignore
* IGNORE_ALWAYS = 3;
*/
public static final int IGNORE_ALWAYS_VALUE = 3;
- /**
- *
- * Deprecated: Use IGNORE_IF_UNPOPULATED instead. TODO: Remove this value pre-v1.
- *
- *
- * IGNORE_EMPTY = 1 [deprecated = true];
- */
- @java.lang.Deprecated public static final int IGNORE_EMPTY_VALUE = 1;
- /**
- *
- * Deprecated: Use IGNORE_IF_DEFAULT_VALUE. TODO: Remove this value pre-v1.
- *
- *
- * IGNORE_DEFAULT = 2 [deprecated = true];
- */
- @java.lang.Deprecated public static final int IGNORE_DEFAULT_VALUE = 2;
public final int getNumber() {
@@ -439,12 +405,8 @@ public Ignore findValueByNumber(int number) {
return build.buf.validate.ValidateProto.getDescriptor().getEnumTypes().get(0);
}
- private static final Ignore[] VALUES = getStaticValuesArray();
- private static Ignore[] getStaticValuesArray() {
- return new Ignore[] {
- IGNORE_UNSPECIFIED, IGNORE_IF_UNPOPULATED, IGNORE_IF_DEFAULT_VALUE, IGNORE_ALWAYS, IGNORE_EMPTY, IGNORE_DEFAULT,
- };
- }
+ private static final Ignore[] VALUES = values();
+
public static Ignore valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
diff --git a/src/main/java/build/buf/validate/ValidateProto.java b/src/main/java/build/buf/validate/ValidateProto.java
index c97ec210..1df6230e 100644
--- a/src/main/java/build/buf/validate/ValidateProto.java
+++ b/src/main/java/build/buf/validate/ValidateProto.java
@@ -275,7 +275,7 @@ public static void registerAllExtensions(
"eConstraints\022\032\n\010disabled\030\001 \001(\010R\010disabled" +
"\022*\n\003cel\030\003 \003(\0132\030.buf.validate.ConstraintR" +
"\003cel\".\n\020OneofConstraints\022\032\n\010required\030\001 \001" +
- "(\010R\010required\"\253\n\n\020FieldConstraints\022*\n\003cel" +
+ "(\010R\010required\"\346\t\n\020FieldConstraints\022*\n\003cel" +
"\030\027 \003(\0132\030.buf.validate.ConstraintR\003cel\022\032\n" +
"\010required\030\031 \001(\010R\010required\022,\n\006ignore\030\033 \001(" +
"\0162\024.buf.validate.IgnoreR\006ignore\0220\n\005float" +
@@ -306,1321 +306,1319 @@ public static void registerAllExtensions(
"date.AnyRulesH\000R\003any\0229\n\010duration\030\025 \001(\0132\033" +
".buf.validate.DurationRulesH\000R\010duration\022" +
"<\n\ttimestamp\030\026 \001(\0132\034.buf.validate.Timest" +
- "ampRulesH\000R\ttimestamp\022\034\n\007skipped\030\030 \001(\010B\002" +
- "\030\001R\007skipped\022%\n\014ignore_empty\030\032 \001(\010B\002\030\001R\013i" +
- "gnoreEmptyB\006\n\004type\"C\n\025PredefinedConstrai" +
- "nts\022*\n\003cel\030\001 \003(\0132\030.buf.validate.Constrai" +
- "ntR\003cel\"\352\027\n\nFloatRules\022p\n\005const\030\001 \001(\002BZ\302" +
- "HW\nU\n\013float.const\032Fthis != rules.const ?" +
- " \'value must equal %s\'.format([rules.con" +
- "st]) : \'\'R\005const\022\243\001\n\002lt\030\002 \001(\002B\220\001\302H\214\001\n\211\001\n" +
- "\010float.lt\032}!has(rules.gte) && !has(rules" +
- ".gt) && (this.isNan() || this >= rules.l" +
- "t)? \'value must be less than %s\'.format(" +
- "[rules.lt]) : \'\'H\000R\002lt\022\264\001\n\003lte\030\003 \001(\002B\237\001\302" +
- "H\233\001\n\230\001\n\tfloat.lte\032\212\001!has(rules.gte) && !" +
- "has(rules.gt) && (this.isNan() || this >" +
- " rules.lte)? \'value must be less than or" +
- " equal to %s\'.format([rules.lte]) : \'\'H\000" +
- "R\003lte\022\363\007\n\002gt\030\004 \001(\002B\340\007\302H\334\007\n\215\001\n\010float.gt\032\200" +
- "\001!has(rules.lt) && !has(rules.lte) && (t" +
- "his.isNan() || this <= rules.gt)? \'value" +
- " must be greater than %s\'.format([rules." +
- "gt]) : \'\'\n\303\001\n\013float.gt_lt\032\263\001has(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\315\001\n\025float.gt_lt_exclusive\032\263\001has(" +
- "rules.lt) && rules.lt < rules.gt && (thi" +
- "s.isNan() || (rules.lt <= this && this <" +
- "= rules.gt))? \'value must be greater tha" +
- "n %s or less than %s\'.format([rules.gt, " +
- "rules.lt]) : \'\'\n\323\001\n\014float.gt_lte\032\302\001has(r" +
- "ules.lte) && rules.lte >= rules.gt && (t" +
- "his.isNan() || this > rules.lte || this " +
- "<= rules.gt)? \'value must be greater tha" +
- "n %s and less than or equal to %s\'.forma" +
- "t([rules.gt, rules.lte]) : \'\'\n\335\001\n\026float." +
- "gt_lte_exclusive\032\302\001has(rules.lte) && rul" +
- "es.lte < rules.gt && (this.isNan() || (r" +
- "ules.lte < this && this <= rules.gt))? \'" +
- "value must be greater than %s or less th" +
- "an or equal to %s\'.format([rules.gt, rul" +
- "es.lte]) : \'\'H\001R\002gt\022\277\010\n\003gte\030\005 \001(\002B\252\010\302H\246\010" +
- "\n\233\001\n\tfloat.gte\032\215\001!has(rules.lt) && !has(" +
- "rules.lte) && (this.isNan() || this < ru" +
- "les.gte)? \'value must be greater than or" +
- " equal to %s\'.format([rules.gte]) : \'\'\n\322" +
- "\001\n\014float.gte_lt\032\301\001has(rules.lt) && rules" +
- ".lt >= rules.gte && (this.isNan() || thi" +
- "s >= rules.lt || this < rules.gte)? \'val" +
- "ue must be greater than or equal to %s a" +
- "nd less than %s\'.format([rules.gte, rule" +
- "s.lt]) : \'\'\n\334\001\n\026float.gte_lt_exclusive\032\301" +
- "\001has(rules.lt) && rules.lt < rules.gte &" +
- "& (this.isNan() || (rules.lt <= this && " +
- "this < rules.gte))? \'value must be great" +
- "er than or equal to %s or less than %s\'." +
- "format([rules.gte, rules.lt]) : \'\'\n\342\001\n\rf" +
- "loat.gte_lte\032\320\001has(rules.lte) && rules.l" +
- "te >= rules.gte && (this.isNan() || this" +
- " > rules.lte || this < rules.gte)? \'valu" +
- "e must be greater than or equal to %s an" +
- "d less than or equal to %s\'.format([rule" +
- "s.gte, rules.lte]) : \'\'\n\354\001\n\027float.gte_lt" +
- "e_exclusive\032\320\001has(rules.lte) && rules.lt" +
- "e < rules.gte && (this.isNan() || (rules" +
- ".lte < this && this < rules.gte))? \'valu" +
- "e must be greater than or equal to %s or" +
- " less than or equal to %s\'.format([rules" +
- ".gte, rules.lte]) : \'\'H\001R\003gte\022y\n\002in\030\006 \003(" +
- "\002Bi\302Hf\nd\n\010float.in\032X!(this in dyn(rules)" +
- "[\'in\']) ? \'value must be in list %s\'.for" +
- "mat([dyn(rules)[\'in\']]) : \'\'R\002in\022}\n\006not_" +
- "in\030\007 \003(\002Bf\302Hc\na\n\014float.not_in\032Qthis in r" +
- "ules.not_in ? \'value must not be in list" +
- " %s\'.format([rules.not_in]) : \'\'R\005notIn\022" +
- "}\n\006finite\030\010 \001(\010Be\302Hb\n`\n\014float.finite\032Pru" +
- "les.finite ? (this.isNan() || this.isInf" +
- "() ? \'value must be finite\' : \'\') : \'\'R\006" +
- "finite\0224\n\007example\030\t \003(\002B\032\302H\027\n\025\n\rfloat.ex" +
- "ample\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_" +
- "thanB\016\n\014greater_than\"\374\027\n\013DoubleRules\022q\n\005" +
- "const\030\001 \001(\001B[\302HX\nV\n\014double.const\032Fthis !" +
- "= rules.const ? \'value must equal %s\'.fo" +
- "rmat([rules.const]) : \'\'R\005const\022\244\001\n\002lt\030\002" +
- " \001(\001B\221\001\302H\215\001\n\212\001\n\tdouble.lt\032}!has(rules.gt" +
- "e) && !has(rules.gt) && (this.isNan() ||" +
- " this >= rules.lt)? \'value must be less " +
- "than %s\'.format([rules.lt]) : \'\'H\000R\002lt\022\265" +
- "\001\n\003lte\030\003 \001(\001B\240\001\302H\234\001\n\231\001\n\ndouble.lte\032\212\001!ha" +
- "s(rules.gte) && !has(rules.gt) && (this." +
- "isNan() || this > rules.lte)? \'value mus" +
- "t be less than or equal to %s\'.format([r" +
- "ules.lte]) : \'\'H\000R\003lte\022\370\007\n\002gt\030\004 \001(\001B\345\007\302H" +
- "\341\007\n\216\001\n\tdouble.gt\032\200\001!has(rules.lt) && !ha" +
- "s(rules.lte) && (this.isNan() || this <=" +
- " rules.gt)? \'value must be greater than " +
- "%s\'.format([rules.gt]) : \'\'\n\304\001\n\014double.g" +
- "t_lt\032\263\001has(rules.lt) && rules.lt >= rule" +
- "s.gt && (this.isNan() || this >= rules.l" +
- "t || this <= rules.gt)? \'value must be g" +
- "reater than %s and less than %s\'.format(" +
- "[rules.gt, rules.lt]) : \'\'\n\316\001\n\026double.gt" +
- "_lt_exclusive\032\263\001has(rules.lt) && rules.l" +
- "t < 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\324\001\n\r" +
- "double.gt_lte\032\302\001has(rules.lte) && rules." +
- "lte >= rules.gt && (this.isNan() || this" +
- " > rules.lte || this <= rules.gt)? \'valu" +
- "e must be greater than %s and less than " +
- "or equal to %s\'.format([rules.gt, rules." +
- "lte]) : \'\'\n\336\001\n\027double.gt_lte_exclusive\032\302" +
- "\001has(rules.lte) && rules.lte < rules.gt " +
- "&& (this.isNan() || (rules.lte < this &&" +
- " this <= rules.gt))? \'value must be grea" +
- "ter than %s or less than or equal to %s\'" +
- ".format([rules.gt, rules.lte]) : \'\'H\001R\002g" +
- "t\022\304\010\n\003gte\030\005 \001(\001B\257\010\302H\253\010\n\234\001\n\ndouble.gte\032\215\001" +
- "!has(rules.lt) && !has(rules.lte) && (th" +
- "is.isNan() || this < rules.gte)? \'value " +
- "must be greater than or equal to %s\'.for" +
- "mat([rules.gte]) : \'\'\n\323\001\n\rdouble.gte_lt\032" +
- "\301\001has(rules.lt) && rules.lt >= rules.gte" +
- " && (this.isNan() || this >= rules.lt ||" +
- " this < rules.gte)? \'value must be great" +
- "er than or equal to %s and less than %s\'" +
- ".format([rules.gte, rules.lt]) : \'\'\n\335\001\n\027" +
- "double.gte_lt_exclusive\032\301\001has(rules.lt) " +
- "&& rules.lt < rules.gte && (this.isNan()" +
- " || (rules.lt <= this && this < rules.gt" +
- "e))? \'value must be greater than or equa" +
- "l to %s or less than %s\'.format([rules.g" +
- "te, rules.lt]) : \'\'\n\343\001\n\016double.gte_lte\032\320" +
- "\001has(rules.lte) && rules.lte >= rules.gt" +
- "e && (this.isNan() || this > rules.lte |" +
- "| this < rules.gte)? \'value must be grea" +
- "ter than or equal to %s and less than or" +
- " equal to %s\'.format([rules.gte, rules.l" +
- "te]) : \'\'\n\355\001\n\030double.gte_lte_exclusive\032\320" +
- "\001has(rules.lte) && rules.lte < rules.gte" +
- " && (this.isNan() || (rules.lte < this &" +
- "& this < rules.gte))? \'value must be gre" +
- "ater than or equal to %s or less than or" +
- " equal to %s\'.format([rules.gte, rules.l" +
- "te]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003(\001Bj\302Hg\ne\n\tdou" +
- "ble.in\032X!(this in dyn(rules)[\'in\']) ? \'v" +
- "alue must be in list %s\'.format([dyn(rul" +
- "es)[\'in\']]) : \'\'R\002in\022~\n\006not_in\030\007 \003(\001Bg\302H" +
- "d\nb\n\rdouble.not_in\032Qthis in rules.not_in" +
- " ? \'value must not be in list %s\'.format" +
- "([rules.not_in]) : \'\'R\005notIn\022~\n\006finite\030\010" +
- " \001(\010Bf\302Hc\na\n\rdouble.finite\032Prules.finite" +
- " ? (this.isNan() || this.isInf() ? \'valu" +
- "e must be finite\' : \'\') : \'\'R\006finite\0225\n\007" +
- "example\030\t \003(\001B\033\302H\030\n\026\n\016double.example\032\004tr" +
- "ueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014g" +
- "reater_than\"\224\025\n\nInt32Rules\022p\n\005const\030\001 \001(" +
- "\005BZ\302HW\nU\n\013int32.const\032Fthis != rules.con" +
+ "ampRulesH\000R\ttimestampB\006\n\004type\"d\n\025Predefi" +
+ "nedConstraints\022*\n\003cel\030\001 \003(\0132\030.buf.valida" +
+ "te.ConstraintR\003celJ\004\010\030\020\031J\004\010\032\020\033R\023skippedi" +
+ "gnore_empty\"\352\027\n\nFloatRules\022p\n\005const\030\001 \001(" +
+ "\002BZ\302HW\nU\n\013float.const\032Fthis != rules.con" +
"st ? \'value must equal %s\'.format([rules" +
- ".const]) : \'\'R\005const\022\216\001\n\002lt\030\002 \001(\005B|\302Hy\nw" +
- "\n\010int32.lt\032k!has(rules.gte) && !has(rule" +
- "s.gt) && this >= rules.lt? \'value must b" +
- "e less than %s\'.format([rules.lt]) : \'\'H" +
- "\000R\002lt\022\241\001\n\003lte\030\003 \001(\005B\214\001\302H\210\001\n\205\001\n\tint32.lte" +
- "\032x!has(rules.gte) && !has(rules.gt) && t" +
- "his > rules.lte? \'value must be less tha" +
+ ".const]) : \'\'R\005const\022\243\001\n\002lt\030\002 \001(\002B\220\001\302H\214\001" +
+ "\n\211\001\n\010float.lt\032}!has(rules.gte) && !has(r" +
+ "ules.gt) && (this.isNan() || this >= rul" +
+ "es.lt)? \'value must be less than %s\'.for" +
+ "mat([rules.lt]) : \'\'H\000R\002lt\022\264\001\n\003lte\030\003 \001(\002" +
+ "B\237\001\302H\233\001\n\230\001\n\tfloat.lte\032\212\001!has(rules.gte) " +
+ "&& !has(rules.gt) && (this.isNan() || th" +
+ "is > rules.lte)? \'value must be less tha" +
"n or equal to %s\'.format([rules.lte]) : " +
- "\'\'H\000R\003lte\022\233\007\n\002gt\030\004 \001(\005B\210\007\302H\204\007\nz\n\010int32.g" +
- "t\032n!has(rules.lt) && !has(rules.lte) && " +
- "this <= rules.gt? \'value must be greater" +
- " than %s\'.format([rules.gt]) : \'\'\n\263\001\n\013in" +
- "t32.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\273\001\n\025int32.gt_lt_exclusiv" +
- "e\032\241\001has(rules.lt) && rules.lt < rules.gt" +
- " && (rules.lt <= this && this <= rules.g" +
- "t)? \'value must be greater than %s or le" +
- "ss than %s\'.format([rules.gt, rules.lt])" +
- " : \'\'\n\303\001\n\014int32.gt_lte\032\262\001has(rules.lte) " +
- "&& rules.lte >= rules.gt && (this > rule" +
- "s.lte || this <= rules.gt)? \'value must " +
- "be greater than %s and less than or equa" +
- "l to %s\'.format([rules.gt, rules.lte]) :" +
- " \'\'\n\313\001\n\026int32.gt_lte_exclusive\032\260\001has(rul" +
- "es.lte) && rules.lte < rules.gt && (rule" +
- "s.lte < this && this <= rules.gt)? \'valu" +
- "e must be greater than %s or less than o" +
- "r equal to %s\'.format([rules.gt, rules.l" +
- "te]) : \'\'H\001R\002gt\022\350\007\n\003gte\030\005 \001(\005B\323\007\302H\317\007\n\210\001\n" +
- "\tint32.gte\032{!has(rules.lt) && !has(rules" +
- ".lte) && this < rules.gte? \'value must b" +
- "e greater than or equal to %s\'.format([r" +
- "ules.gte]) : \'\'\n\302\001\n\014int32.gte_lt\032\261\001has(r" +
- "ules.lt) && rules.lt >= rules.gte && (th" +
- "is >= rules.lt || this < rules.gte)? \'va" +
+ "\'\'H\000R\003lte\022\363\007\n\002gt\030\004 \001(\002B\340\007\302H\334\007\n\215\001\n\010float." +
+ "gt\032\200\001!has(rules.lt) && !has(rules.lte) &" +
+ "& (this.isNan() || this <= rules.gt)? \'v" +
+ "alue must be greater than %s\'.format([ru" +
+ "les.gt]) : \'\'\n\303\001\n\013float.gt_lt\032\263\001has(rule" +
+ "s.lt) && rules.lt >= rules.gt && (this.i" +
+ "sNan() || this >= rules.lt || this <= ru" +
+ "les.gt)? \'value must be greater than %s " +
+ "and less than %s\'.format([rules.gt, rule" +
+ "s.lt]) : \'\'\n\315\001\n\025float.gt_lt_exclusive\032\263\001" +
+ "has(rules.lt) && rules.lt < rules.gt && " +
+ "(this.isNan() || (rules.lt <= this && th" +
+ "is <= rules.gt))? \'value must be greater" +
+ " than %s or less than %s\'.format([rules." +
+ "gt, rules.lt]) : \'\'\n\323\001\n\014float.gt_lte\032\302\001h" +
+ "as(rules.lte) && rules.lte >= rules.gt &" +
+ "& (this.isNan() || this > rules.lte || t" +
+ "his <= rules.gt)? \'value must be greater" +
+ " than %s and less than or equal to %s\'.f" +
+ "ormat([rules.gt, rules.lte]) : \'\'\n\335\001\n\026fl" +
+ "oat.gt_lte_exclusive\032\302\001has(rules.lte) &&" +
+ " rules.lte < rules.gt && (this.isNan() |" +
+ "| (rules.lte < this && this <= rules.gt)" +
+ ")? \'value must be greater than %s or les" +
+ "s than or equal to %s\'.format([rules.gt," +
+ " rules.lte]) : \'\'H\001R\002gt\022\277\010\n\003gte\030\005 \001(\002B\252\010" +
+ "\302H\246\010\n\233\001\n\tfloat.gte\032\215\001!has(rules.lt) && !" +
+ "has(rules.lte) && (this.isNan() || this " +
+ "< rules.gte)? \'value must be greater tha" +
+ "n or equal to %s\'.format([rules.gte]) : " +
+ "\'\'\n\322\001\n\014float.gte_lt\032\301\001has(rules.lt) && r" +
+ "ules.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\334\001\n\026float.gte_lt_exclusi" +
+ "ve\032\301\001has(rules.lt) && rules.lt < rules.g" +
+ "te && (this.isNan() || (rules.lt <= this" +
+ " && this < rules.gte))? \'value must be g" +
+ "reater than or equal to %s or less than " +
+ "%s\'.format([rules.gte, rules.lt]) : \'\'\n\342" +
+ "\001\n\rfloat.gte_lte\032\320\001has(rules.lte) && rul" +
+ "es.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\354\001\n\027float.gt" +
+ "e_lte_exclusive\032\320\001has(rules.lte) && rule" +
+ "s.lte < rules.gte && (this.isNan() || (r" +
+ "ules.lte < this && this < rules.gte))? \'" +
+ "value must be greater than or equal to %" +
+ "s or less than or equal to %s\'.format([r" +
+ "ules.gte, rules.lte]) : \'\'H\001R\003gte\022y\n\002in\030" +
+ "\006 \003(\002Bi\302Hf\nd\n\010float.in\032X!(this in dyn(ru" +
+ "les)[\'in\']) ? \'value must be in list %s\'" +
+ ".format([dyn(rules)[\'in\']]) : \'\'R\002in\022}\n\006" +
+ "not_in\030\007 \003(\002Bf\302Hc\na\n\014float.not_in\032Qthis " +
+ "in rules.not_in ? \'value must not be in " +
+ "list %s\'.format([rules.not_in]) : \'\'R\005no" +
+ "tIn\022}\n\006finite\030\010 \001(\010Be\302Hb\n`\n\014float.finite" +
+ "\032Prules.finite ? (this.isNan() || this.i" +
+ "sInf() ? \'value must be finite\' : \'\') : " +
+ "\'\'R\006finite\0224\n\007example\030\t \003(\002B\032\302H\027\n\025\n\rfloa" +
+ "t.example\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tl" +
+ "ess_thanB\016\n\014greater_than\"\374\027\n\013DoubleRules" +
+ "\022q\n\005const\030\001 \001(\001B[\302HX\nV\n\014double.const\032Fth" +
+ "is != rules.const ? \'value must equal %s" +
+ "\'.format([rules.const]) : \'\'R\005const\022\244\001\n\002" +
+ "lt\030\002 \001(\001B\221\001\302H\215\001\n\212\001\n\tdouble.lt\032}!has(rule" +
+ "s.gte) && !has(rules.gt) && (this.isNan(" +
+ ") || this >= rules.lt)? \'value must be l" +
+ "ess than %s\'.format([rules.lt]) : \'\'H\000R\002" +
+ "lt\022\265\001\n\003lte\030\003 \001(\001B\240\001\302H\234\001\n\231\001\n\ndouble.lte\032\212" +
+ "\001!has(rules.gte) && !has(rules.gt) && (t" +
+ "his.isNan() || this > rules.lte)? \'value" +
+ " must be less than or equal to %s\'.forma" +
+ "t([rules.lte]) : \'\'H\000R\003lte\022\370\007\n\002gt\030\004 \001(\001B" +
+ "\345\007\302H\341\007\n\216\001\n\tdouble.gt\032\200\001!has(rules.lt) &&" +
+ " !has(rules.lte) && (this.isNan() || thi" +
+ "s <= rules.gt)? \'value must be greater t" +
+ "han %s\'.format([rules.gt]) : \'\'\n\304\001\n\014doub" +
+ "le.gt_lt\032\263\001has(rules.lt) && rules.lt >= " +
+ "rules.gt && (this.isNan() || this >= rul" +
+ "es.lt || this <= rules.gt)? \'value must " +
+ "be greater than %s and less than %s\'.for" +
+ "mat([rules.gt, rules.lt]) : \'\'\n\316\001\n\026doubl" +
+ "e.gt_lt_exclusive\032\263\001has(rules.lt) && rul" +
+ "es.lt < rules.gt && (this.isNan() || (ru" +
+ "les.lt <= this && this <= rules.gt))? \'v" +
+ "alue must be greater than %s or less tha" +
+ "n %s\'.format([rules.gt, rules.lt]) : \'\'\n" +
+ "\324\001\n\rdouble.gt_lte\032\302\001has(rules.lte) && ru" +
+ "les.lte >= rules.gt && (this.isNan() || " +
+ "this > rules.lte || this <= rules.gt)? \'" +
+ "value must be greater than %s and less t" +
+ "han or equal to %s\'.format([rules.gt, ru" +
+ "les.lte]) : \'\'\n\336\001\n\027double.gt_lte_exclusi" +
+ "ve\032\302\001has(rules.lte) && rules.lte < rules" +
+ ".gt && (this.isNan() || (rules.lte < thi" +
+ "s && this <= rules.gt))? \'value must be " +
+ "greater than %s or less than or equal to" +
+ " %s\'.format([rules.gt, rules.lte]) : \'\'H" +
+ "\001R\002gt\022\304\010\n\003gte\030\005 \001(\001B\257\010\302H\253\010\n\234\001\n\ndouble.gt" +
+ "e\032\215\001!has(rules.lt) && !has(rules.lte) &&" +
+ " (this.isNan() || this < rules.gte)? \'va" +
+ "lue must be greater than or equal to %s\'" +
+ ".format([rules.gte]) : \'\'\n\323\001\n\rdouble.gte" +
+ "_lt\032\301\001has(rules.lt) && rules.lt >= rules" +
+ ".gte && (this.isNan() || this >= rules.l" +
+ "t || this < rules.gte)? \'value must be g" +
+ "reater than or equal to %s and less than" +
+ " %s\'.format([rules.gte, rules.lt]) : \'\'\n" +
+ "\335\001\n\027double.gte_lt_exclusive\032\301\001has(rules." +
+ "lt) && rules.lt < rules.gte && (this.isN" +
+ "an() || (rules.lt <= this && this < rule" +
+ "s.gte))? \'value must be greater than or " +
+ "equal to %s or less than %s\'.format([rul" +
+ "es.gte, rules.lt]) : \'\'\n\343\001\n\016double.gte_l" +
+ "te\032\320\001has(rules.lte) && rules.lte >= rule" +
+ "s.gte && (this.isNan() || this > rules.l" +
+ "te || this < rules.gte)? \'value must be " +
+ "greater than or equal to %s and less tha" +
+ "n or equal to %s\'.format([rules.gte, rul" +
+ "es.lte]) : \'\'\n\355\001\n\030double.gte_lte_exclusi" +
+ "ve\032\320\001has(rules.lte) && rules.lte < rules" +
+ ".gte && (this.isNan() || (rules.lte < th" +
+ "is && this < rules.gte))? \'value must be" +
+ " greater than or equal to %s or less tha" +
+ "n or equal to %s\'.format([rules.gte, rul" +
+ "es.lte]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003(\001Bj\302Hg\ne\n" +
+ "\tdouble.in\032X!(this in dyn(rules)[\'in\']) " +
+ "? \'value must be in list %s\'.format([dyn" +
+ "(rules)[\'in\']]) : \'\'R\002in\022~\n\006not_in\030\007 \003(\001" +
+ "Bg\302Hd\nb\n\rdouble.not_in\032Qthis in rules.no" +
+ "t_in ? \'value must not be in list %s\'.fo" +
+ "rmat([rules.not_in]) : \'\'R\005notIn\022~\n\006fini" +
+ "te\030\010 \001(\010Bf\302Hc\na\n\rdouble.finite\032Prules.fi" +
+ "nite ? (this.isNan() || this.isInf() ? \'" +
+ "value must be finite\' : \'\') : \'\'R\006finite" +
+ "\0225\n\007example\030\t \003(\001B\033\302H\030\n\026\n\016double.example" +
+ "\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB" +
+ "\016\n\014greater_than\"\224\025\n\nInt32Rules\022p\n\005const\030" +
+ "\001 \001(\005BZ\302HW\nU\n\013int32.const\032Fthis != rules" +
+ ".const ? \'value must equal %s\'.format([r" +
+ "ules.const]) : \'\'R\005const\022\216\001\n\002lt\030\002 \001(\005B|\302" +
+ "Hy\nw\n\010int32.lt\032k!has(rules.gte) && !has(" +
+ "rules.gt) && this >= rules.lt? \'value mu" +
+ "st be less than %s\'.format([rules.lt]) :" +
+ " \'\'H\000R\002lt\022\241\001\n\003lte\030\003 \001(\005B\214\001\302H\210\001\n\205\001\n\tint32" +
+ ".lte\032x!has(rules.gte) && !has(rules.gt) " +
+ "&& this > rules.lte? \'value must be less" +
+ " than or equal to %s\'.format([rules.lte]" +
+ ") : \'\'H\000R\003lte\022\233\007\n\002gt\030\004 \001(\005B\210\007\302H\204\007\nz\n\010int" +
+ "32.gt\032n!has(rules.lt) && !has(rules.lte)" +
+ " && this <= rules.gt? \'value must be gre" +
+ "ater than %s\'.format([rules.gt]) : \'\'\n\263\001" +
+ "\n\013int32.gt_lt\032\243\001has(rules.lt) && rules.l" +
+ "t >= rules.gt && (this >= rules.lt || th" +
+ "is <= rules.gt)? \'value must be greater " +
+ "than %s and less than %s\'.format([rules." +
+ "gt, rules.lt]) : \'\'\n\273\001\n\025int32.gt_lt_excl" +
+ "usive\032\241\001has(rules.lt) && rules.lt < rule" +
+ "s.gt && (rules.lt <= this && this <= rul" +
+ "es.gt)? \'value must be greater than %s o" +
+ "r less than %s\'.format([rules.gt, rules." +
+ "lt]) : \'\'\n\303\001\n\014int32.gt_lte\032\262\001has(rules.l" +
+ "te) && rules.lte >= rules.gt && (this > " +
+ "rules.lte || this <= rules.gt)? \'value m" +
+ "ust be greater than %s and less than or " +
+ "equal to %s\'.format([rules.gt, rules.lte" +
+ "]) : \'\'\n\313\001\n\026int32.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 th" +
+ "an or equal to %s\'.format([rules.gt, rul" +
+ "es.lte]) : \'\'H\001R\002gt\022\350\007\n\003gte\030\005 \001(\005B\323\007\302H\317\007" +
+ "\n\210\001\n\tint32.gte\032{!has(rules.lt) && !has(r" +
+ "ules.lte) && this < rules.gte? \'value mu" +
+ "st be greater than or equal to %s\'.forma" +
+ "t([rules.gte]) : \'\'\n\302\001\n\014int32.gte_lt\032\261\001h" +
+ "as(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\312\001\n\026int32.gte_lt_exclus" +
+ "ive\032\257\001has(rules.lt) && rules.lt < rules." +
+ "gte && (rules.lt <= this && this < rules" +
+ ".gte)? \'value must be greater than or eq" +
+ "ual to %s or less than %s\'.format([rules" +
+ ".gte, rules.lt]) : \'\'\n\322\001\n\rint32.gte_lte\032" +
+ "\300\001has(rules.lte) && rules.lte >= rules.g" +
+ "te && (this > rules.lte || this < rules." +
+ "gte)? \'value must be greater than or equ" +
+ "al to %s and less than or equal to %s\'.f" +
+ "ormat([rules.gte, rules.lte]) : \'\'\n\332\001\n\027i" +
+ "nt32.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 t" +
+ "han or equal to %s\'.format([rules.gte, r" +
+ "ules.lte]) : \'\'H\001R\003gte\022y\n\002in\030\006 \003(\005Bi\302Hf\n" +
+ "d\n\010int32.in\032X!(this in dyn(rules)[\'in\'])" +
+ " ? \'value must be in list %s\'.format([dy" +
+ "n(rules)[\'in\']]) : \'\'R\002in\022}\n\006not_in\030\007 \003(" +
+ "\005Bf\302Hc\na\n\014int32.not_in\032Qthis in rules.no" +
+ "t_in ? \'value must not be in list %s\'.fo" +
+ "rmat([rules.not_in]) : \'\'R\005notIn\0224\n\007exam" +
+ "ple\030\010 \003(\005B\032\302H\027\n\025\n\rint32.example\032\004trueR\007e" +
+ "xample*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greate" +
+ "r_than\"\224\025\n\nInt64Rules\022p\n\005const\030\001 \001(\003BZ\302H" +
+ "W\nU\n\013int64.const\032Fthis != rules.const ? " +
+ "\'value must equal %s\'.format([rules.cons" +
+ "t]) : \'\'R\005const\022\216\001\n\002lt\030\002 \001(\003B|\302Hy\nw\n\010int" +
+ "64.lt\032k!has(rules.gte) && !has(rules.gt)" +
+ " && this >= rules.lt? \'value must be les" +
+ "s than %s\'.format([rules.lt]) : \'\'H\000R\002lt" +
+ "\022\241\001\n\003lte\030\003 \001(\003B\214\001\302H\210\001\n\205\001\n\tint64.lte\032x!ha" +
+ "s(rules.gte) && !has(rules.gt) && this >" +
+ " rules.lte? \'value must be less than or " +
+ "equal to %s\'.format([rules.lte]) : \'\'H\000R" +
+ "\003lte\022\233\007\n\002gt\030\004 \001(\003B\210\007\302H\204\007\nz\n\010int64.gt\032n!h" +
+ "as(rules.lt) && !has(rules.lte) && this " +
+ "<= rules.gt? \'value must be greater than" +
+ " %s\'.format([rules.gt]) : \'\'\n\263\001\n\013int64.g" +
+ "t_lt\032\243\001has(rules.lt) && rules.lt >= rule" +
+ "s.gt && (this >= rules.lt || this <= rul" +
+ "es.gt)? \'value must be greater than %s a" +
+ "nd less than %s\'.format([rules.gt, rules" +
+ ".lt]) : \'\'\n\273\001\n\025int64.gt_lt_exclusive\032\241\001h" +
+ "as(rules.lt) && rules.lt < rules.gt && (" +
+ "rules.lt <= this && this <= rules.gt)? \'" +
+ "value must be greater than %s or less th" +
+ "an %s\'.format([rules.gt, rules.lt]) : \'\'" +
+ "\n\303\001\n\014int64.gt_lte\032\262\001has(rules.lte) && ru" +
+ "les.lte >= rules.gt && (this > rules.lte" +
+ " || this <= rules.gt)? \'value must be gr" +
+ "eater than %s and less than or equal to " +
+ "%s\'.format([rules.gt, rules.lte]) : \'\'\n\313" +
+ "\001\n\026int64.gt_lte_exclusive\032\260\001has(rules.lt" +
+ "e) && rules.lte < rules.gt && (rules.lte" +
+ " < this && this <= rules.gt)? \'value mus" +
+ "t be greater than %s or less than or equ" +
+ "al to %s\'.format([rules.gt, rules.lte]) " +
+ ": \'\'H\001R\002gt\022\350\007\n\003gte\030\005 \001(\003B\323\007\302H\317\007\n\210\001\n\tint6" +
+ "4.gte\032{!has(rules.lt) && !has(rules.lte)" +
+ " && this < rules.gte? \'value must be gre" +
+ "ater than or equal to %s\'.format([rules." +
+ "gte]) : \'\'\n\302\001\n\014int64.gte_lt\032\261\001has(rules." +
+ "lt) && rules.lt >= rules.gte && (this >=" +
+ " rules.lt || this < rules.gte)? \'value m" +
+ "ust be greater than or equal to %s and l" +
+ "ess than %s\'.format([rules.gte, rules.lt" +
+ "]) : \'\'\n\312\001\n\026int64.gte_lt_exclusive\032\257\001has" +
+ "(rules.lt) && rules.lt < rules.gte && (r" +
+ "ules.lt <= this && this < rules.gte)? \'v" +
+ "alue must be greater than or equal to %s" +
+ " or less than %s\'.format([rules.gte, rul" +
+ "es.lt]) : \'\'\n\322\001\n\rint64.gte_lte\032\300\001has(rul" +
+ "es.lte) && rules.lte >= rules.gte && (th" +
+ "is > rules.lte || this < rules.gte)? \'va" +
"lue must be greater than or equal to %s " +
- "and less than %s\'.format([rules.gte, rul" +
- "es.lt]) : \'\'\n\312\001\n\026int32.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\322\001\n\rint32.gte_lte\032\300\001ha" +
- "s(rules.lte) && rules.lte >= rules.gte &" +
- "& (this > rules.lte || this < rules.gte)" +
- "? \'value must be greater than or equal t" +
- "o %s and less than or equal to %s\'.forma" +
- "t([rules.gte, rules.lte]) : \'\'\n\332\001\n\027int32" +
+ "and less than or equal to %s\'.format([ru" +
+ "les.gte, rules.lte]) : \'\'\n\332\001\n\027int64.gte_" +
+ "lte_exclusive\032\276\001has(rules.lte) && rules." +
+ "lte < rules.gte && (rules.lte < this && " +
+ "this < rules.gte)? \'value must be greate" +
+ "r than or equal to %s or less than or eq" +
+ "ual to %s\'.format([rules.gte, rules.lte]" +
+ ") : \'\'H\001R\003gte\022y\n\002in\030\006 \003(\003Bi\302Hf\nd\n\010int64." +
+ "in\032X!(this in dyn(rules)[\'in\']) ? \'value" +
+ " must be in list %s\'.format([dyn(rules)[" +
+ "\'in\']]) : \'\'R\002in\022}\n\006not_in\030\007 \003(\003Bf\302Hc\na\n" +
+ "\014int64.not_in\032Qthis in rules.not_in ? \'v" +
+ "alue must not be in list %s\'.format([rul" +
+ "es.not_in]) : \'\'R\005notIn\0224\n\007example\030\t \003(\003" +
+ "B\032\302H\027\n\025\n\rint64.example\032\004trueR\007example*\t\010" +
+ "\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_than\"\245\025" +
+ "\n\013UInt32Rules\022q\n\005const\030\001 \001(\rB[\302HX\nV\n\014uin" +
+ "t32.const\032Fthis != rules.const ? \'value " +
+ "must equal %s\'.format([rules.const]) : \'" +
+ "\'R\005const\022\217\001\n\002lt\030\002 \001(\rB}\302Hz\nx\n\tuint32.lt\032" +
+ "k!has(rules.gte) && !has(rules.gt) && th" +
+ "is >= rules.lt? \'value must be less than" +
+ " %s\'.format([rules.lt]) : \'\'H\000R\002lt\022\242\001\n\003l" +
+ "te\030\003 \001(\rB\215\001\302H\211\001\n\206\001\n\nuint32.lte\032x!has(rul" +
+ "es.gte) && !has(rules.gt) && this > rule" +
+ "s.lte? \'value must be less than or equal" +
+ " to %s\'.format([rules.lte]) : \'\'H\000R\003lte\022" +
+ "\240\007\n\002gt\030\004 \001(\rB\215\007\302H\211\007\n{\n\tuint32.gt\032n!has(r" +
+ "ules.lt) && !has(rules.lte) && this <= r" +
+ "ules.gt? \'value must be greater than %s\'" +
+ ".format([rules.gt]) : \'\'\n\264\001\n\014uint32.gt_l" +
+ "t\032\243\001has(rules.lt) && rules.lt >= rules.g" +
+ "t && (this >= rules.lt || this <= rules." +
+ "gt)? \'value must be greater than %s and " +
+ "less than %s\'.format([rules.gt, rules.lt" +
+ "]) : \'\'\n\274\001\n\026uint32.gt_lt_exclusive\032\241\001has" +
+ "(rules.lt) && rules.lt < rules.gt && (ru" +
+ "les.lt <= this && this <= rules.gt)? \'va" +
+ "lue must be greater than %s or less than" +
+ " %s\'.format([rules.gt, rules.lt]) : \'\'\n\304" +
+ "\001\n\ruint32.gt_lte\032\262\001has(rules.lte) && rul" +
+ "es.lte >= rules.gt && (this > rules.lte " +
+ "|| this <= rules.gt)? \'value must be gre" +
+ "ater than %s and less than or equal to %" +
+ "s\'.format([rules.gt, rules.lte]) : \'\'\n\314\001" +
+ "\n\027uint32.gt_lte_exclusive\032\260\001has(rules.lt" +
+ "e) && rules.lte < rules.gt && (rules.lte" +
+ " < this && this <= rules.gt)? \'value mus" +
+ "t be greater than %s or less than or equ" +
+ "al to %s\'.format([rules.gt, rules.lte]) " +
+ ": \'\'H\001R\002gt\022\355\007\n\003gte\030\005 \001(\rB\330\007\302H\324\007\n\211\001\n\nuint" +
+ "32.gte\032{!has(rules.lt) && !has(rules.lte" +
+ ") && this < rules.gte? \'value must be gr" +
+ "eater than or equal to %s\'.format([rules" +
+ ".gte]) : \'\'\n\303\001\n\ruint32.gte_lt\032\261\001has(rule" +
+ "s.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\313\001\n\027uint32.gte_lt_exclusive\032\257\001" +
+ "has(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\323\001\n\016uint32.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\333\001\n\030uint32" +
".gte_lte_exclusive\032\276\001has(rules.lte) && r" +
"ules.lte < rules.gte && (rules.lte < thi" +
"s && this < rules.gte)? \'value must be g" +
"reater than or equal to %s or less than " +
"or equal to %s\'.format([rules.gte, rules" +
- ".lte]) : \'\'H\001R\003gte\022y\n\002in\030\006 \003(\005Bi\302Hf\nd\n\010i" +
- "nt32.in\032X!(this in dyn(rules)[\'in\']) ? \'" +
- "value must be in list %s\'.format([dyn(ru" +
- "les)[\'in\']]) : \'\'R\002in\022}\n\006not_in\030\007 \003(\005Bf\302" +
- "Hc\na\n\014int32.not_in\032Qthis in rules.not_in" +
- " ? \'value must not be in list %s\'.format" +
- "([rules.not_in]) : \'\'R\005notIn\0224\n\007example\030" +
- "\010 \003(\005B\032\302H\027\n\025\n\rint32.example\032\004trueR\007examp" +
- "le*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_th" +
- "an\"\224\025\n\nInt64Rules\022p\n\005const\030\001 \001(\003BZ\302HW\nU\n" +
- "\013int64.const\032Fthis != rules.const ? \'val" +
- "ue must equal %s\'.format([rules.const]) " +
- ": \'\'R\005const\022\216\001\n\002lt\030\002 \001(\003B|\302Hy\nw\n\010int64.l" +
- "t\032k!has(rules.gte) && !has(rules.gt) && " +
- "this >= rules.lt? \'value must be less th" +
- "an %s\'.format([rules.lt]) : \'\'H\000R\002lt\022\241\001\n" +
- "\003lte\030\003 \001(\003B\214\001\302H\210\001\n\205\001\n\tint64.lte\032x!has(ru" +
- "les.gte) && !has(rules.gt) && this > rul" +
- "es.lte? \'value must be less than or equa" +
- "l to %s\'.format([rules.lte]) : \'\'H\000R\003lte" +
- "\022\233\007\n\002gt\030\004 \001(\003B\210\007\302H\204\007\nz\n\010int64.gt\032n!has(r" +
- "ules.lt) && !has(rules.lte) && this <= r" +
- "ules.gt? \'value must be greater than %s\'" +
- ".format([rules.gt]) : \'\'\n\263\001\n\013int64.gt_lt" +
- "\032\243\001has(rules.lt) && rules.lt >= rules.gt" +
- " && (this >= rules.lt || this <= rules.g" +
- "t)? \'value must be greater than %s and l" +
+ ".lte]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003(\rBj\302Hg\ne\n\tu" +
+ "int32.in\032X!(this in dyn(rules)[\'in\']) ? " +
+ "\'value must be in list %s\'.format([dyn(r" +
+ "ules)[\'in\']]) : \'\'R\002in\022~\n\006not_in\030\007 \003(\rBg" +
+ "\302Hd\nb\n\ruint32.not_in\032Qthis in rules.not_" +
+ "in ? \'value must not be in list %s\'.form" +
+ "at([rules.not_in]) : \'\'R\005notIn\0225\n\007exampl" +
+ "e\030\010 \003(\rB\033\302H\030\n\026\n\016uint32.example\032\004trueR\007ex" +
+ "ample*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater",
+ "_than\"\245\025\n\013UInt64Rules\022q\n\005const\030\001 \001(\004B[\302H" +
+ "X\nV\n\014uint64.const\032Fthis != rules.const ?" +
+ " \'value must equal %s\'.format([rules.con" +
+ "st]) : \'\'R\005const\022\217\001\n\002lt\030\002 \001(\004B}\302Hz\nx\n\tui" +
+ "nt64.lt\032k!has(rules.gte) && !has(rules.g" +
+ "t) && this >= rules.lt? \'value must be l" +
+ "ess than %s\'.format([rules.lt]) : \'\'H\000R\002" +
+ "lt\022\242\001\n\003lte\030\003 \001(\004B\215\001\302H\211\001\n\206\001\n\nuint64.lte\032x" +
+ "!has(rules.gte) && !has(rules.gt) && thi" +
+ "s > rules.lte? \'value must be less than " +
+ "or equal to %s\'.format([rules.lte]) : \'\'" +
+ "H\000R\003lte\022\240\007\n\002gt\030\004 \001(\004B\215\007\302H\211\007\n{\n\tuint64.gt" +
+ "\032n!has(rules.lt) && !has(rules.lte) && t" +
+ "his <= rules.gt? \'value must be greater " +
+ "than %s\'.format([rules.gt]) : \'\'\n\264\001\n\014uin" +
+ "t64.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\274\001\n\026uint64.gt_lt_exclusi" +
+ "ve\032\241\001has(rules.lt) && rules.lt < rules.g" +
+ "t && (rules.lt <= this && this <= rules." +
+ "gt)? \'value must be greater than %s or l" +
"ess than %s\'.format([rules.gt, rules.lt]" +
- ") : \'\'\n\273\001\n\025int64.gt_lt_exclusive\032\241\001has(r" +
- "ules.lt) && rules.lt < rules.gt && (rule" +
- "s.lt <= this && this <= rules.gt)? \'valu" +
- "e must be greater than %s or less than %" +
- "s\'.format([rules.gt, rules.lt]) : \'\'\n\303\001\n" +
- "\014int64.gt_lte\032\262\001has(rules.lte) && rules." +
- "lte >= rules.gt && (this > rules.lte || " +
- "this <= rules.gt)? \'value must be greate" +
- "r than %s and less than or equal to %s\'." +
- "format([rules.gt, rules.lte]) : \'\'\n\313\001\n\026i" +
- "nt64.gt_lte_exclusive\032\260\001has(rules.lte) &" +
- "& rules.lte < rules.gt && (rules.lte < t" +
- "his && this <= rules.gt)? \'value must be" +
- " greater than %s or less than or equal t" +
- "o %s\'.format([rules.gt, rules.lte]) : \'\'" +
- "H\001R\002gt\022\350\007\n\003gte\030\005 \001(\003B\323\007\302H\317\007\n\210\001\n\tint64.gt" +
- "e\032{!has(rules.lt) && !has(rules.lte) && " +
- "this < rules.gte? \'value must be greater" +
- " than or equal to %s\'.format([rules.gte]" +
- ") : \'\'\n\302\001\n\014int64.gte_lt\032\261\001has(rules.lt) " +
- "&& rules.lt >= rules.gte && (this >= rul" +
- "es.lt || this < rules.gte)? \'value must " +
- "be greater than or equal to %s and less " +
- "than %s\'.format([rules.gte, rules.lt]) :" +
- " \'\'\n\312\001\n\026int64.gte_lt_exclusive\032\257\001has(rul" +
- "es.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.l" +
- "t]) : \'\'\n\322\001\n\rint64.gte_lte\032\300\001has(rules.l" +
- "te) && rules.lte >= rules.gte && (this >" +
- " rules.lte || this < rules.gte)? \'value " +
- "must be greater than or equal to %s and " +
+ ") : \'\'\n\304\001\n\ruint64.gt_lte\032\262\001has(rules.lte" +
+ ") && rules.lte >= rules.gt && (this > ru" +
+ "les.lte || this <= rules.gt)? \'value mus" +
+ "t be greater than %s and less than or eq" +
+ "ual to %s\'.format([rules.gt, rules.lte])" +
+ " : \'\'\n\314\001\n\027uint64.gt_lte_exclusive\032\260\001has(" +
+ "rules.lte) && rules.lte < rules.gt && (r" +
+ "ules.lte < this && this <= rules.gt)? \'v" +
+ "alue must be greater than %s or less tha" +
+ "n or equal to %s\'.format([rules.gt, rule" +
+ "s.lte]) : \'\'H\001R\002gt\022\355\007\n\003gte\030\005 \001(\004B\330\007\302H\324\007\n" +
+ "\211\001\n\nuint64.gte\032{!has(rules.lt) && !has(r" +
+ "ules.lte) && this < rules.gte? \'value mu" +
+ "st be greater than or equal to %s\'.forma" +
+ "t([rules.gte]) : \'\'\n\303\001\n\ruint64.gte_lt\032\261\001" +
+ "has(rules.lt) && rules.lt >= rules.gte &" +
+ "& (this >= rules.lt || this < rules.gte)" +
+ "? \'value must be greater than or equal t" +
+ "o %s and less than %s\'.format([rules.gte" +
+ ", rules.lt]) : \'\'\n\313\001\n\027uint64.gte_lt_excl" +
+ "usive\032\257\001has(rules.lt) && rules.lt < rule" +
+ "s.gte && (rules.lt <= this && this < rul" +
+ "es.gte)? \'value must be greater than or " +
+ "equal to %s or less than %s\'.format([rul" +
+ "es.gte, rules.lt]) : \'\'\n\323\001\n\016uint64.gte_l" +
+ "te\032\300\001has(rules.lte) && rules.lte >= rule" +
+ "s.gte && (this > rules.lte || this < rul" +
+ "es.gte)? \'value must be greater than or " +
+ "equal to %s and less than or equal to %s" +
+ "\'.format([rules.gte, rules.lte]) : \'\'\n\333\001" +
+ "\n\030uint64.gte_lte_exclusive\032\276\001has(rules.l" +
+ "te) && rules.lte < rules.gte && (rules.l" +
+ "te < this && this < rules.gte)? \'value m" +
+ "ust be greater than or equal to %s or le" +
+ "ss than or equal to %s\'.format([rules.gt" +
+ "e, rules.lte]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003(\004Bj" +
+ "\302Hg\ne\n\tuint64.in\032X!(this in dyn(rules)[\'" +
+ "in\']) ? \'value must be in list %s\'.forma" +
+ "t([dyn(rules)[\'in\']]) : \'\'R\002in\022~\n\006not_in" +
+ "\030\007 \003(\004Bg\302Hd\nb\n\ruint64.not_in\032Qthis in ru" +
+ "les.not_in ? \'value must not be in list " +
+ "%s\'.format([rules.not_in]) : \'\'R\005notIn\0225" +
+ "\n\007example\030\010 \003(\004B\033\302H\030\n\026\n\016uint64.example\032\004" +
+ "trueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n" +
+ "\014greater_than\"\245\025\n\013SInt32Rules\022q\n\005const\030\001" +
+ " \001(\021B[\302HX\nV\n\014sint32.const\032Fthis != rules" +
+ ".const ? \'value must equal %s\'.format([r" +
+ "ules.const]) : \'\'R\005const\022\217\001\n\002lt\030\002 \001(\021B}\302" +
+ "Hz\nx\n\tsint32.lt\032k!has(rules.gte) && !has" +
+ "(rules.gt) && this >= rules.lt? \'value m" +
+ "ust be less than %s\'.format([rules.lt]) " +
+ ": \'\'H\000R\002lt\022\242\001\n\003lte\030\003 \001(\021B\215\001\302H\211\001\n\206\001\n\nsint" +
+ "32.lte\032x!has(rules.gte) && !has(rules.gt" +
+ ") && this > rules.lte? \'value must be le" +
+ "ss than or equal to %s\'.format([rules.lt" +
+ "e]) : \'\'H\000R\003lte\022\240\007\n\002gt\030\004 \001(\021B\215\007\302H\211\007\n{\n\ts" +
+ "int32.gt\032n!has(rules.lt) && !has(rules.l" +
+ "te) && this <= rules.gt? \'value must be " +
+ "greater than %s\'.format([rules.gt]) : \'\'" +
+ "\n\264\001\n\014sint32.gt_lt\032\243\001has(rules.lt) && rul" +
+ "es.lt >= rules.gt && (this >= rules.lt |" +
+ "| this <= rules.gt)? \'value must be grea" +
+ "ter than %s and less than %s\'.format([ru" +
+ "les.gt, rules.lt]) : \'\'\n\274\001\n\026sint32.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, r" +
+ "ules.lt]) : \'\'\n\304\001\n\rsint32.gt_lte\032\262\001has(r" +
+ "ules.lte) && rules.lte >= rules.gt && (t" +
+ "his > rules.lte || this <= rules.gt)? \'v" +
+ "alue must be greater than %s and less th" +
+ "an or equal to %s\'.format([rules.gt, rul" +
+ "es.lte]) : \'\'\n\314\001\n\027sint32.gt_lte_exclusiv" +
+ "e\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." +
- "gte, rules.lte]) : \'\'\n\332\001\n\027int64.gte_lte_" +
- "exclusive\032\276\001has(rules.lte) && rules.lte " +
- "< rules.gte && (rules.lte < this && this" +
- " < rules.gte)? \'value must be greater th" +
- "an or equal to %s or less than or equal " +
- "to %s\'.format([rules.gte, rules.lte]) : " +
- "\'\'H\001R\003gte\022y\n\002in\030\006 \003(\003Bi\302Hf\nd\n\010int64.in\032X" +
- "!(this in dyn(rules)[\'in\']) ? \'value mus" +
- "t be in list %s\'.format([dyn(rules)[\'in\'" +
- "]]) : \'\'R\002in\022}\n\006not_in\030\007 \003(\003Bf\302Hc\na\n\014int" +
- "64.not_in\032Qthis in rules.not_in ? \'value" +
- " must not be in list %s\'.format([rules.n" +
- "ot_in]) : \'\'R\005notIn\0224\n\007example\030\t \003(\003B\032\302H" +
- "\027\n\025\n\rint64.example\032\004trueR\007example*\t\010\350\007\020\200" +
- "\200\200\200\002B\013\n\tless_thanB\016\n\014greater_than\"\245\025\n\013UI" +
- "nt32Rules\022q\n\005const\030\001 \001(\rB[\302HX\nV\n\014uint32." +
- "const\032Fthis != rules.const ? \'value must" +
- " equal %s\'.format([rules.const]) : \'\'R\005c" +
- "onst\022\217\001\n\002lt\030\002 \001(\rB}\302Hz\nx\n\tuint32.lt\032k!ha" +
- "s(rules.gte) && !has(rules.gt) && this >" +
- "= rules.lt? \'value must be less than %s\'" +
- ".format([rules.lt]) : \'\'H\000R\002lt\022\242\001\n\003lte\030\003" +
- " \001(\rB\215\001\302H\211\001\n\206\001\n\nuint32.lte\032x!has(rules.g" +
+ "gt, rules.lte]) : \'\'H\001R\002gt\022\355\007\n\003gte\030\005 \001(\021" +
+ "B\330\007\302H\324\007\n\211\001\n\nsint32.gte\032{!has(rules.lt) &" +
+ "& !has(rules.lte) && this < rules.gte? \'" +
+ "value must be greater than or equal to %" +
+ "s\'.format([rules.gte]) : \'\'\n\303\001\n\rsint32.g" +
+ "te_lt\032\261\001has(rules.lt) && rules.lt >= rul" +
+ "es.gte && (this >= rules.lt || this < ru" +
+ "les.gte)? \'value must be greater than or" +
+ " equal to %s and less than %s\'.format([r" +
+ "ules.gte, rules.lt]) : \'\'\n\313\001\n\027sint32.gte" +
+ "_lt_exclusive\032\257\001has(rules.lt) && rules.l" +
+ "t < rules.gte && (rules.lt <= this && th" +
+ "is < rules.gte)? \'value must be greater " +
+ "than or equal to %s or less than %s\'.for" +
+ "mat([rules.gte, rules.lt]) : \'\'\n\323\001\n\016sint" +
+ "32.gte_lte\032\300\001has(rules.lte) && rules.lte" +
+ " >= rules.gte && (this > rules.lte || th" +
+ "is < rules.gte)? \'value must be greater " +
+ "than or equal to %s and less than or equ" +
+ "al to %s\'.format([rules.gte, rules.lte])" +
+ " : \'\'\n\333\001\n\030sint32.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]) : \'\'H\001R\003gte\022z\n\002in" +
+ "\030\006 \003(\021Bj\302Hg\ne\n\tsint32.in\032X!(this in dyn(" +
+ "rules)[\'in\']) ? \'value must be in list %" +
+ "s\'.format([dyn(rules)[\'in\']]) : \'\'R\002in\022~" +
+ "\n\006not_in\030\007 \003(\021Bg\302Hd\nb\n\rsint32.not_in\032Qth" +
+ "is in rules.not_in ? \'value must not be " +
+ "in list %s\'.format([rules.not_in]) : \'\'R" +
+ "\005notIn\0225\n\007example\030\010 \003(\021B\033\302H\030\n\026\n\016sint32.e" +
+ "xample\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless" +
+ "_thanB\016\n\014greater_than\"\245\025\n\013SInt64Rules\022q\n" +
+ "\005const\030\001 \001(\022B[\302HX\nV\n\014sint64.const\032Fthis " +
+ "!= rules.const ? \'value must equal %s\'.f" +
+ "ormat([rules.const]) : \'\'R\005const\022\217\001\n\002lt\030" +
+ "\002 \001(\022B}\302Hz\nx\n\tsint64.lt\032k!has(rules.gte)" +
+ " && !has(rules.gt) && this >= rules.lt? " +
+ "\'value must be less than %s\'.format([rul" +
+ "es.lt]) : \'\'H\000R\002lt\022\242\001\n\003lte\030\003 \001(\022B\215\001\302H\211\001\n" +
+ "\206\001\n\nsint64.lte\032x!has(rules.gte) && !has(" +
+ "rules.gt) && this > rules.lte? \'value mu" +
+ "st be less than or equal to %s\'.format([" +
+ "rules.lte]) : \'\'H\000R\003lte\022\240\007\n\002gt\030\004 \001(\022B\215\007\302" +
+ "H\211\007\n{\n\tsint64.gt\032n!has(rules.lt) && !has" +
+ "(rules.lte) && this <= rules.gt? \'value " +
+ "must be greater than %s\'.format([rules.g" +
+ "t]) : \'\'\n\264\001\n\014sint64.gt_lt\032\243\001has(rules.lt" +
+ ") && rules.lt >= rules.gt && (this >= ru" +
+ "les.lt || this <= rules.gt)? \'value must" +
+ " be greater than %s and less than %s\'.fo" +
+ "rmat([rules.gt, rules.lt]) : \'\'\n\274\001\n\026sint" +
+ "64.gt_lt_exclusive\032\241\001has(rules.lt) && ru" +
+ "les.lt < rules.gt && (rules.lt <= this &" +
+ "& this <= rules.gt)? \'value must be grea" +
+ "ter than %s or less than %s\'.format([rul" +
+ "es.gt, rules.lt]) : \'\'\n\304\001\n\rsint64.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\314\001\n\027sint64.gt_lte_" +
+ "exclusive\032\260\001has(rules.lte) && rules.lte " +
+ "< rules.gt && (rules.lte < this && this " +
+ "<= rules.gt)? \'value must be greater tha" +
+ "n %s or less than or equal to %s\'.format" +
+ "([rules.gt, rules.lte]) : \'\'H\001R\002gt\022\355\007\n\003g" +
+ "te\030\005 \001(\022B\330\007\302H\324\007\n\211\001\n\nsint64.gte\032{!has(rul" +
+ "es.lt) && !has(rules.lte) && this < rule" +
+ "s.gte? \'value must be greater than or eq" +
+ "ual to %s\'.format([rules.gte]) : \'\'\n\303\001\n\r" +
+ "sint64.gte_lt\032\261\001has(rules.lt) && rules.l" +
+ "t >= rules.gte && (this >= rules.lt || t" +
+ "his < rules.gte)? \'value must be greater" +
+ " than or equal to %s and less than %s\'.f" +
+ "ormat([rules.gte, rules.lt]) : \'\'\n\313\001\n\027si" +
+ "nt64.gte_lt_exclusive\032\257\001has(rules.lt) &&" +
+ " rules.lt < rules.gte && (rules.lt <= th" +
+ "is && this < rules.gte)? \'value must be " +
+ "greater than or equal to %s or less than" +
+ " %s\'.format([rules.gte, rules.lt]) : \'\'\n" +
+ "\323\001\n\016sint64.gte_lte\032\300\001has(rules.lte) && r" +
+ "ules.lte >= rules.gte && (this > rules.l" +
+ "te || this < rules.gte)? \'value must be " +
+ "greater than or equal to %s and less tha" +
+ "n or equal to %s\'.format([rules.gte, rul" +
+ "es.lte]) : \'\'\n\333\001\n\030sint64.gte_lte_exclusi" +
+ "ve\032\276\001has(rules.lte) && rules.lte < rules" +
+ ".gte && (rules.lte < this && this < rule" +
+ "s.gte)? \'value must be greater than or e" +
+ "qual to %s or less than or equal to %s\'." +
+ "format([rules.gte, rules.lte]) : \'\'H\001R\003g" +
+ "te\022z\n\002in\030\006 \003(\022Bj\302Hg\ne\n\tsint64.in\032X!(this" +
+ " in dyn(rules)[\'in\']) ? \'value must be i" +
+ "n list %s\'.format([dyn(rules)[\'in\']]) : " +
+ "\'\'R\002in\022~\n\006not_in\030\007 \003(\022Bg\302Hd\nb\n\rsint64.no" +
+ "t_in\032Qthis in rules.not_in ? \'value must" +
+ " not be in list %s\'.format([rules.not_in" +
+ "]) : \'\'R\005notIn\0225\n\007example\030\010 \003(\022B\033\302H\030\n\026\n\016" +
+ "sint64.example\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002" +
+ "B\013\n\tless_thanB\016\n\014greater_than\"\266\025\n\014Fixed3" +
+ "2Rules\022r\n\005const\030\001 \001(\007B\\\302HY\nW\n\rfixed32.co" +
+ "nst\032Fthis != rules.const ? \'value must e" +
+ "qual %s\'.format([rules.const]) : \'\'R\005con" +
+ "st\022\220\001\n\002lt\030\002 \001(\007B~\302H{\ny\n\nfixed32.lt\032k!has" +
+ "(rules.gte) && !has(rules.gt) && this >=" +
+ " rules.lt? \'value must be less than %s\'." +
+ "format([rules.lt]) : \'\'H\000R\002lt\022\243\001\n\003lte\030\003 " +
+ "\001(\007B\216\001\302H\212\001\n\207\001\n\013fixed32.lte\032x!has(rules.g" +
"te) && !has(rules.gt) && this > rules.lt" +
"e? \'value must be less than or equal to " +
- "%s\'.format([rules.lte]) : \'\'H\000R\003lte\022\240\007\n\002" +
- "gt\030\004 \001(\rB\215\007\302H\211\007\n{\n\tuint32.gt\032n!has(rules" +
- ".lt) && !has(rules.lte) && this <= rules" +
- ".gt? \'value must be greater than %s\'.for" +
- "mat([rules.gt]) : \'\'\n\264\001\n\014uint32.gt_lt\032\243\001" +
- "has(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\274\001\n\026uint32.gt_lt_exclusive\032\241\001has(rul" +
- "es.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\304\001\n\ru" +
- "int32.gt_lte\032\262\001has(rules.lte) && rules.l" +
- "te >= rules.gt && (this > rules.lte || t" +
- "his <= rules.gt)? \'value must be greater" +
- " than %s and less than or equal to %s\'.f" +
- "ormat([rules.gt, rules.lte]) : \'\'\n\314\001\n\027ui" +
- "nt32.gt_lte_exclusive\032\260\001has(rules.lte) &" +
- "& rules.lte < rules.gt && (rules.lte < t" +
- "his && this <= rules.gt)? \'value must be" +
- " greater than %s or less than or equal t" +
- "o %s\'.format([rules.gt, rules.lte]) : \'\'" +
- "H\001R\002gt\022\355\007\n\003gte\030\005 \001(\rB\330\007\302H\324\007\n\211\001\n\nuint32.g" +
- "te\032{!has(rules.lt) && !has(rules.lte) &&" +
- " this < rules.gte? \'value must be greate" +
- "r than or equal to %s\'.format([rules.gte" +
- "]) : \'\'\n\303\001\n\ruint32.gte_lt\032\261\001has(rules.lt" +
- ") && rules.lt >= rules.gte && (this >= r" +
- "ules.lt || this < rules.gte)? \'value mus" +
- "t be greater than or equal to %s and les" +
- "s than %s\'.format([rules.gte, rules.lt])" +
- " : \'\'\n\313\001\n\027uint32.gte_lt_exclusive\032\257\001has(" +
- "rules.lt) && rules.lt < rules.gte && (ru" +
- "les.lt <= this && this < rules.gte)? \'va" +
- "lue must be greater than or equal to %s " +
- "or less than %s\'.format([rules.gte, rule" +
- "s.lt]) : \'\'\n\323\001\n\016uint32.gte_lte\032\300\001has(rul" +
- "es.lte) && rules.lte >= rules.gte && (th" +
- "is > rules.lte || this < rules.gte)? \'va" +
+ "%s\'.format([rules.lte]) : \'\'H\000R\003lte\022\245\007\n\002" +
+ "gt\030\004 \001(\007B\222\007\302H\216\007\n|\n\nfixed32.gt\032n!has(rule" +
+ "s.lt) && !has(rules.lte) && this <= rule" +
+ "s.gt? \'value must be greater than %s\'.fo" +
+ "rmat([rules.gt]) : \'\'\n\265\001\n\rfixed32.gt_lt\032" +
+ "\243\001has(rules.lt) && rules.lt >= rules.gt " +
+ "&& (this >= rules.lt || this <= rules.gt" +
+ ")? \'value must be greater than %s and le" +
+ "ss than %s\'.format([rules.gt, rules.lt])" +
+ " : \'\'\n\275\001\n\027fixed32.gt_lt_exclusive\032\241\001has(" +
+ "rules.lt) && rules.lt < rules.gt && (rul" +
+ "es.lt <= this && this <= rules.gt)? \'val" +
+ "ue must be greater than %s or less than " +
+ "%s\'.format([rules.gt, rules.lt]) : \'\'\n\305\001" +
+ "\n\016fixed32.gt_lte\032\262\001has(rules.lte) && rul" +
+ "es.lte >= rules.gt && (this > rules.lte " +
+ "|| this <= rules.gt)? \'value must be gre" +
+ "ater than %s and less than or equal to %" +
+ "s\'.format([rules.gt, rules.lte]) : \'\'\n\315\001" +
+ "\n\030fixed32.gt_lte_exclusive\032\260\001has(rules.l" +
+ "te) && rules.lte < rules.gt && (rules.lt" +
+ "e < this && this <= rules.gt)? \'value mu" +
+ "st be greater than %s or less than or eq" +
+ "ual to %s\'.format([rules.gt, rules.lte])" +
+ " : \'\'H\001R\002gt\022\362\007\n\003gte\030\005 \001(\007B\335\007\302H\331\007\n\212\001\n\013fix" +
+ "ed32.gte\032{!has(rules.lt) && !has(rules.l" +
+ "te) && this < rules.gte? \'value must be " +
+ "greater than or equal to %s\'.format([rul" +
+ "es.gte]) : \'\'\n\304\001\n\016fixed32.gte_lt\032\261\001has(r" +
+ "ules.lt) && rules.lt >= rules.gte && (th" +
+ "is >= rules.lt || this < rules.gte)? \'va" +
"lue must be greater than or equal to %s " +
- "and less than or equal to %s\'.format([ru" +
- "les.gte, rules.lte]) : \'\'\n\333\001\n\030uint32.gte" +
- "_lte_exclusive\032\276\001has(rules.lte) && rules" +
- ".lte < rules.gte && (rules.lte < this &&" +
- " this < rules.gte)? \'value must be great" +
- "er than or equal to %s or less than or e" +
- "qual to %s\'.format([rules.gte, rules.lte" +
- "]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003(\rBj\302Hg\ne\n\tuint3" +
- "2.in\032X!(this in dyn(rules)[\'in\']) ? \'val" +
- "ue must be in list %s\'.format([dyn(rules" +
- ")[\'in\']]) : \'\'R\002in\022~\n\006not_in\030\007 \003(\rBg\302Hd\n" +
- "b\n\ruint32.not_in\032Qthis in rules.not_in ?" +
- " \'value must not be in list %s\'.format([" +
- "rules.not_in]) : \'\'R\005notIn\0225\n\007example\030\010 " +
- "\003(\rB\033\302H\030\n\026\n\016uint32.example\032\004trueR\007exampl",
- "e*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_tha" +
- "n\"\245\025\n\013UInt64Rules\022q\n\005const\030\001 \001(\004B[\302HX\nV\n" +
- "\014uint64.const\032Fthis != rules.const ? \'va" +
- "lue must equal %s\'.format([rules.const])" +
- " : \'\'R\005const\022\217\001\n\002lt\030\002 \001(\004B}\302Hz\nx\n\tuint64" +
- ".lt\032k!has(rules.gte) && !has(rules.gt) &" +
- "& this >= rules.lt? \'value must be less " +
- "than %s\'.format([rules.lt]) : \'\'H\000R\002lt\022\242" +
- "\001\n\003lte\030\003 \001(\004B\215\001\302H\211\001\n\206\001\n\nuint64.lte\032x!has" +
- "(rules.gte) && !has(rules.gt) && this > " +
- "rules.lte? \'value must be less than or e" +
- "qual to %s\'.format([rules.lte]) : \'\'H\000R\003" +
- "lte\022\240\007\n\002gt\030\004 \001(\004B\215\007\302H\211\007\n{\n\tuint64.gt\032n!h" +
- "as(rules.lt) && !has(rules.lte) && this " +
- "<= rules.gt? \'value must be greater than" +
- " %s\'.format([rules.gt]) : \'\'\n\264\001\n\014uint64." +
- "gt_lt\032\243\001has(rules.lt) && rules.lt >= rul" +
- "es.gt && (this >= rules.lt || this <= ru" +
- "les.gt)? \'value must be greater than %s " +
- "and less than %s\'.format([rules.gt, rule" +
- "s.lt]) : \'\'\n\274\001\n\026uint64.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\304\001\n\ruint64.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\314\001\n\027uint64.gt_lte_exclusive\032\260\001has(rule" +
- "s.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.lt" +
- "e]) : \'\'H\001R\002gt\022\355\007\n\003gte\030\005 \001(\004B\330\007\302H\324\007\n\211\001\n\n" +
- "uint64.gte\032{!has(rules.lt) && !has(rules" +
- ".lte) && this < rules.gte? \'value must b" +
- "e greater than or equal to %s\'.format([r" +
- "ules.gte]) : \'\'\n\303\001\n\ruint64.gte_lt\032\261\001has(" +
- "rules.lt) && rules.lt >= rules.gte && (t" +
- "his >= rules.lt || this < rules.gte)? \'v" +
- "alue must be greater than or equal to %s" +
- " and less than %s\'.format([rules.gte, ru" +
- "les.lt]) : \'\'\n\313\001\n\027uint64.gte_lt_exclusiv" +
+ "and less than %s\'.format([rules.gte, rul" +
+ "es.lt]) : \'\'\n\314\001\n\030fixed32.gte_lt_exclusiv" +
"e\032\257\001has(rules.lt) && rules.lt < rules.gt" +
"e && (rules.lt <= this && this < rules.g" +
"te)? \'value must be greater than or equa" +
"l to %s or less than %s\'.format([rules.g" +
- "te, rules.lt]) : \'\'\n\323\001\n\016uint64.gte_lte\032\300" +
- "\001has(rules.lte) && rules.lte >= rules.gt" +
- "e && (this > rules.lte || this < rules.g" +
- "te)? \'value must be greater than or equa" +
- "l to %s and less than or equal to %s\'.fo" +
- "rmat([rules.gte, rules.lte]) : \'\'\n\333\001\n\030ui" +
- "nt64.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 t" +
- "han or equal to %s\'.format([rules.gte, r" +
- "ules.lte]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003(\004Bj\302Hg\n" +
- "e\n\tuint64.in\032X!(this in dyn(rules)[\'in\']" +
- ") ? \'value must be in list %s\'.format([d" +
- "yn(rules)[\'in\']]) : \'\'R\002in\022~\n\006not_in\030\007 \003" +
- "(\004Bg\302Hd\nb\n\ruint64.not_in\032Qthis in rules." +
- "not_in ? \'value must not be in list %s\'." +
- "format([rules.not_in]) : \'\'R\005notIn\0225\n\007ex" +
- "ample\030\010 \003(\004B\033\302H\030\n\026\n\016uint64.example\032\004true" +
- "R\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014gre" +
- "ater_than\"\245\025\n\013SInt32Rules\022q\n\005const\030\001 \001(\021" +
- "B[\302HX\nV\n\014sint32.const\032Fthis != rules.con" +
- "st ? \'value must equal %s\'.format([rules" +
- ".const]) : \'\'R\005const\022\217\001\n\002lt\030\002 \001(\021B}\302Hz\nx" +
- "\n\tsint32.lt\032k!has(rules.gte) && !has(rul" +
- "es.gt) && this >= rules.lt? \'value must " +
- "be less than %s\'.format([rules.lt]) : \'\'" +
- "H\000R\002lt\022\242\001\n\003lte\030\003 \001(\021B\215\001\302H\211\001\n\206\001\n\nsint32.l" +
- "te\032x!has(rules.gte) && !has(rules.gt) &&" +
- " this > rules.lte? \'value must be less t" +
- "han or equal to %s\'.format([rules.lte]) " +
- ": \'\'H\000R\003lte\022\240\007\n\002gt\030\004 \001(\021B\215\007\302H\211\007\n{\n\tsint3" +
- "2.gt\032n!has(rules.lt) && !has(rules.lte) " +
- "&& this <= rules.gt? \'value must be grea" +
- "ter than %s\'.format([rules.gt]) : \'\'\n\264\001\n" +
- "\014sint32.gt_lt\032\243\001has(rules.lt) && rules.l" +
- "t >= rules.gt && (this >= rules.lt || th" +
- "is <= rules.gt)? \'value must be greater " +
- "than %s and less than %s\'.format([rules." +
- "gt, rules.lt]) : \'\'\n\274\001\n\026sint32.gt_lt_exc" +
- "lusive\032\241\001has(rules.lt) && rules.lt < rul" +
- "es.gt && (rules.lt <= this && this <= ru" +
- "les.gt)? \'value must be greater than %s " +
- "or less than %s\'.format([rules.gt, rules" +
- ".lt]) : \'\'\n\304\001\n\rsint32.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 o" +
- "r equal to %s\'.format([rules.gt, rules.l" +
- "te]) : \'\'\n\314\001\n\027sint32.gt_lte_exclusive\032\260\001" +
- "has(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\001R\002gt\022\355\007\n\003gte\030\005 \001(\021B\330\007\302" +
- "H\324\007\n\211\001\n\nsint32.gte\032{!has(rules.lt) && !h" +
- "as(rules.lte) && this < rules.gte? \'valu" +
- "e must be greater than or equal to %s\'.f" +
- "ormat([rules.gte]) : \'\'\n\303\001\n\rsint32.gte_l" +
- "t\032\261\001has(rules.lt) && rules.lt >= rules.g" +
- "te && (this >= rules.lt || this < rules." +
+ "te, rules.lt]) : \'\'\n\324\001\n\017fixed32.gte_lte\032" +
+ "\300\001has(rules.lte) && rules.lte >= rules.g" +
+ "te && (this > rules.lte || this < rules." +
"gte)? \'value must be greater than or equ" +
- "al to %s and less than %s\'.format([rules" +
- ".gte, rules.lt]) : \'\'\n\313\001\n\027sint32.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\323\001\n\016sint32.g" +
- "te_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 t" +
- "o %s\'.format([rules.gte, rules.lte]) : \'" +
- "\'\n\333\001\n\030sint32.gte_lte_exclusive\032\276\001has(rul" +
- "es.lte) && rules.lte < rules.gte && (rul" +
- "es.lte < this && this < rules.gte)? \'val" +
- "ue must be greater than or equal to %s o" +
- "r less than or equal to %s\'.format([rule" +
- "s.gte, rules.lte]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003" +
- "(\021Bj\302Hg\ne\n\tsint32.in\032X!(this in dyn(rule" +
- "s)[\'in\']) ? \'value must be in list %s\'.f" +
- "ormat([dyn(rules)[\'in\']]) : \'\'R\002in\022~\n\006no" +
- "t_in\030\007 \003(\021Bg\302Hd\nb\n\rsint32.not_in\032Qthis i" +
- "n rules.not_in ? \'value must not be in l" +
- "ist %s\'.format([rules.not_in]) : \'\'R\005not" +
- "In\0225\n\007example\030\010 \003(\021B\033\302H\030\n\026\n\016sint32.examp" +
- "le\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_tha" +
- "nB\016\n\014greater_than\"\245\025\n\013SInt64Rules\022q\n\005con" +
- "st\030\001 \001(\022B[\302HX\nV\n\014sint64.const\032Fthis != r" +
- "ules.const ? \'value must equal %s\'.forma" +
- "t([rules.const]) : \'\'R\005const\022\217\001\n\002lt\030\002 \001(" +
- "\022B}\302Hz\nx\n\tsint64.lt\032k!has(rules.gte) && " +
+ "al to %s and less than or equal to %s\'.f" +
+ "ormat([rules.gte, rules.lte]) : \'\'\n\334\001\n\031f" +
+ "ixed32.gte_lte_exclusive\032\276\001has(rules.lte" +
+ ") && rules.lte < rules.gte && (rules.lte" +
+ " < this && this < rules.gte)? \'value mus" +
+ "t be greater than or equal to %s or less" +
+ " than or equal to %s\'.format([rules.gte," +
+ " rules.lte]) : \'\'H\001R\003gte\022{\n\002in\030\006 \003(\007Bk\302H" +
+ "h\nf\n\nfixed32.in\032X!(this in dyn(rules)[\'i" +
+ "n\']) ? \'value must be in list %s\'.format" +
+ "([dyn(rules)[\'in\']]) : \'\'R\002in\022\177\n\006not_in\030" +
+ "\007 \003(\007Bh\302He\nc\n\016fixed32.not_in\032Qthis in ru" +
+ "les.not_in ? \'value must not be in list " +
+ "%s\'.format([rules.not_in]) : \'\'R\005notIn\0226" +
+ "\n\007example\030\010 \003(\007B\034\302H\031\n\027\n\017fixed32.example\032" +
+ "\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016" +
+ "\n\014greater_than\"\266\025\n\014Fixed64Rules\022r\n\005const" +
+ "\030\001 \001(\006B\\\302HY\nW\n\rfixed64.const\032Fthis != ru" +
+ "les.const ? \'value must equal %s\'.format" +
+ "([rules.const]) : \'\'R\005const\022\220\001\n\002lt\030\002 \001(\006" +
+ "B~\302H{\ny\n\nfixed64.lt\032k!has(rules.gte) && " +
"!has(rules.gt) && this >= rules.lt? \'val" +
"ue must be less than %s\'.format([rules.l" +
- "t]) : \'\'H\000R\002lt\022\242\001\n\003lte\030\003 \001(\022B\215\001\302H\211\001\n\206\001\n\n" +
- "sint64.lte\032x!has(rules.gte) && !has(rule" +
- "s.gt) && this > rules.lte? \'value must b" +
- "e less than or equal to %s\'.format([rule" +
- "s.lte]) : \'\'H\000R\003lte\022\240\007\n\002gt\030\004 \001(\022B\215\007\302H\211\007\n" +
- "{\n\tsint64.gt\032n!has(rules.lt) && !has(rul" +
- "es.lte) && this <= rules.gt? \'value must" +
- " be greater than %s\'.format([rules.gt]) " +
- ": \'\'\n\264\001\n\014sint64.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\274\001\n\026sint64.g" +
- "t_lt_exclusive\032\241\001has(rules.lt) && rules." +
- "lt < rules.gt && (rules.lt <= this && th" +
- "is <= rules.gt)? \'value must be greater " +
- "than %s or less than %s\'.format([rules.g" +
- "t, rules.lt]) : \'\'\n\304\001\n\rsint64.gt_lte\032\262\001h" +
- "as(rules.lte) && rules.lte >= rules.gt &" +
- "& (this > rules.lte || this <= rules.gt)" +
- "? \'value must be greater than %s and les" +
- "s than or equal to %s\'.format([rules.gt," +
- " rules.lte]) : \'\'\n\314\001\n\027sint64.gt_lte_excl" +
+ "t]) : \'\'H\000R\002lt\022\243\001\n\003lte\030\003 \001(\006B\216\001\302H\212\001\n\207\001\n\013" +
+ "fixed64.lte\032x!has(rules.gte) && !has(rul" +
+ "es.gt) && this > rules.lte? \'value must " +
+ "be less than or equal to %s\'.format([rul" +
+ "es.lte]) : \'\'H\000R\003lte\022\245\007\n\002gt\030\004 \001(\006B\222\007\302H\216\007" +
+ "\n|\n\nfixed64.gt\032n!has(rules.lt) && !has(r" +
+ "ules.lte) && this <= rules.gt? \'value mu" +
+ "st be greater than %s\'.format([rules.gt]" +
+ ") : \'\'\n\265\001\n\rfixed64.gt_lt\032\243\001has(rules.lt)" +
+ " && rules.lt >= rules.gt && (this >= rul" +
+ "es.lt || this <= rules.gt)? \'value must " +
+ "be greater than %s and less than %s\'.for" +
+ "mat([rules.gt, rules.lt]) : \'\'\n\275\001\n\027fixed" +
+ "64.gt_lt_exclusive\032\241\001has(rules.lt) && ru" +
+ "les.lt < rules.gt && (rules.lt <= this &" +
+ "& this <= rules.gt)? \'value must be grea" +
+ "ter than %s or less than %s\'.format([rul" +
+ "es.gt, rules.lt]) : \'\'\n\305\001\n\016fixed64.gt_lt" +
+ "e\032\262\001has(rules.lte) && rules.lte >= rules" +
+ ".gt && (this > rules.lte || this <= rule" +
+ "s.gt)? \'value must be greater than %s an" +
+ "d less than or equal to %s\'.format([rule" +
+ "s.gt, rules.lte]) : \'\'\n\315\001\n\030fixed64.gt_lt" +
+ "e_exclusive\032\260\001has(rules.lte) && rules.lt" +
+ "e < rules.gt && (rules.lte < this && thi" +
+ "s <= rules.gt)? \'value must be greater t" +
+ "han %s or less than or equal to %s\'.form" +
+ "at([rules.gt, rules.lte]) : \'\'H\001R\002gt\022\362\007\n" +
+ "\003gte\030\005 \001(\006B\335\007\302H\331\007\n\212\001\n\013fixed64.gte\032{!has(" +
+ "rules.lt) && !has(rules.lte) && this < r" +
+ "ules.gte? \'value must be greater than or" +
+ " equal to %s\'.format([rules.gte]) : \'\'\n\304" +
+ "\001\n\016fixed64.gte_lt\032\261\001has(rules.lt) && rul" +
+ "es.lt >= rules.gte && (this >= rules.lt " +
+ "|| this < rules.gte)? \'value must be gre" +
+ "ater than or equal to %s and less than %" +
+ "s\'.format([rules.gte, rules.lt]) : \'\'\n\314\001" +
+ "\n\030fixed64.gte_lt_exclusive\032\257\001has(rules.l" +
+ "t) && rules.lt < rules.gte && (rules.lt " +
+ "<= this && this < rules.gte)? \'value mus" +
+ "t be greater than or equal to %s or less" +
+ " than %s\'.format([rules.gte, rules.lt]) " +
+ ": \'\'\n\324\001\n\017fixed64.gte_lte\032\300\001has(rules.lte" +
+ ") && rules.lte >= rules.gte && (this > r" +
+ "ules.lte || this < rules.gte)? \'value mu" +
+ "st be greater than or equal to %s and le" +
+ "ss than or equal to %s\'.format([rules.gt" +
+ "e, rules.lte]) : \'\'\n\334\001\n\031fixed64.gte_lte_" +
+ "exclusive\032\276\001has(rules.lte) && rules.lte " +
+ "< rules.gte && (rules.lte < this && this" +
+ " < rules.gte)? \'value must be greater th" +
+ "an or equal to %s or less than or equal " +
+ "to %s\'.format([rules.gte, rules.lte]) : " +
+ "\'\'H\001R\003gte\022{\n\002in\030\006 \003(\006Bk\302Hh\nf\n\nfixed64.in" +
+ "\032X!(this in dyn(rules)[\'in\']) ? \'value m" +
+ "ust be in list %s\'.format([dyn(rules)[\'i" +
+ "n\']]) : \'\'R\002in\022\177\n\006not_in\030\007 \003(\006Bh\302He\nc\n\016f" +
+ "ixed64.not_in\032Qthis in rules.not_in ? \'v" +
+ "alue must not be in list %s\'.format([rul" +
+ "es.not_in]) : \'\'R\005notIn\0226\n\007example\030\010 \003(\006" +
+ "B\034\302H\031\n\027\n\017fixed64.example\032\004trueR\007example*" +
+ "\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_than\"" +
+ "\310\025\n\rSFixed32Rules\022s\n\005const\030\001 \001(\017B]\302HZ\nX\n" +
+ "\016sfixed32.const\032Fthis != rules.const ? \'" +
+ "value must equal %s\'.format([rules.const" +
+ "]) : \'\'R\005const\022\221\001\n\002lt\030\002 \001(\017B\177\302H|\nz\n\013sfix" +
+ "ed32.lt\032k!has(rules.gte) && !has(rules.g" +
+ "t) && this >= rules.lt? \'value must be l" +
+ "ess than %s\'.format([rules.lt]) : \'\'H\000R\002" +
+ "lt\022\244\001\n\003lte\030\003 \001(\017B\217\001\302H\213\001\n\210\001\n\014sfixed32.lte" +
+ "\032x!has(rules.gte) && !has(rules.gt) && t" +
+ "his > rules.lte? \'value must be less tha" +
+ "n or equal to %s\'.format([rules.lte]) : " +
+ "\'\'H\000R\003lte\022\252\007\n\002gt\030\004 \001(\017B\227\007\302H\223\007\n}\n\013sfixed3" +
+ "2.gt\032n!has(rules.lt) && !has(rules.lte) " +
+ "&& this <= rules.gt? \'value must be grea" +
+ "ter than %s\'.format([rules.gt]) : \'\'\n\266\001\n" +
+ "\016sfixed32.gt_lt\032\243\001has(rules.lt) && rules" +
+ ".lt >= rules.gt && (this >= rules.lt || " +
+ "this <= rules.gt)? \'value must be greate" +
+ "r than %s and less than %s\'.format([rule" +
+ "s.gt, rules.lt]) : \'\'\n\276\001\n\030sfixed32.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, r" +
+ "ules.lt]) : \'\'\n\306\001\n\017sfixed32.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, r" +
+ "ules.lte]) : \'\'\n\316\001\n\031sfixed32.gt_lte_excl" +
"usive\032\260\001has(rules.lte) && rules.lte < ru" +
"les.gt && (rules.lte < this && this <= r" +
"ules.gt)? \'value must be greater than %s" +
" or less than or equal to %s\'.format([ru" +
- "les.gt, rules.lte]) : \'\'H\001R\002gt\022\355\007\n\003gte\030\005" +
- " \001(\022B\330\007\302H\324\007\n\211\001\n\nsint64.gte\032{!has(rules.l" +
- "t) && !has(rules.lte) && this < rules.gt" +
- "e? \'value must be greater than or equal " +
- "to %s\'.format([rules.gte]) : \'\'\n\303\001\n\rsint" +
- "64.gte_lt\032\261\001has(rules.lt) && rules.lt >=" +
- " rules.gte && (this >= rules.lt || this " +
- "< rules.gte)? \'value must be greater tha" +
- "n or equal to %s and less than %s\'.forma" +
- "t([rules.gte, rules.lt]) : \'\'\n\313\001\n\027sint64" +
- ".gte_lt_exclusive\032\257\001has(rules.lt) && rul" +
- "es.lt < rules.gte && (rules.lt <= this &" +
- "& this < rules.gte)? \'value must be grea" +
- "ter than or equal to %s or less than %s\'" +
- ".format([rules.gte, rules.lt]) : \'\'\n\323\001\n\016" +
- "sint64.gte_lte\032\300\001has(rules.lte) && rules" +
- ".lte >= rules.gte && (this > rules.lte |" +
- "| this < rules.gte)? \'value must be grea" +
- "ter than or equal to %s and less than or" +
- " equal to %s\'.format([rules.gte, rules.l" +
- "te]) : \'\'\n\333\001\n\030sint64.gte_lte_exclusive\032\276" +
- "\001has(rules.lte) && rules.lte < rules.gte" +
- " && (rules.lte < this && this < rules.gt" +
- "e)? \'value must be greater than or equal" +
- " to %s or less than or equal to %s\'.form" +
- "at([rules.gte, rules.lte]) : \'\'H\001R\003gte\022z" +
- "\n\002in\030\006 \003(\022Bj\302Hg\ne\n\tsint64.in\032X!(this in " +
- "dyn(rules)[\'in\']) ? \'value must be in li" +
- "st %s\'.format([dyn(rules)[\'in\']]) : \'\'R\002" +
- "in\022~\n\006not_in\030\007 \003(\022Bg\302Hd\nb\n\rsint64.not_in" +
- "\032Qthis in rules.not_in ? \'value must not" +
- " be in list %s\'.format([rules.not_in]) :" +
- " \'\'R\005notIn\0225\n\007example\030\010 \003(\022B\033\302H\030\n\026\n\016sint" +
- "64.example\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\t" +
- "less_thanB\016\n\014greater_than\"\266\025\n\014Fixed32Rul" +
- "es\022r\n\005const\030\001 \001(\007B\\\302HY\nW\n\rfixed32.const\032" +
- "Fthis != rules.const ? \'value must equal" +
- " %s\'.format([rules.const]) : \'\'R\005const\022\220" +
- "\001\n\002lt\030\002 \001(\007B~\302H{\ny\n\nfixed32.lt\032k!has(rul" +
- "es.gte) && !has(rules.gt) && this >= rul" +
- "es.lt? \'value must be less than %s\'.form" +
- "at([rules.lt]) : \'\'H\000R\002lt\022\243\001\n\003lte\030\003 \001(\007B" +
- "\216\001\302H\212\001\n\207\001\n\013fixed32.lte\032x!has(rules.gte) " +
- "&& !has(rules.gt) && this > rules.lte? \'" +
- "value must be less than or equal to %s\'." +
- "format([rules.lte]) : \'\'H\000R\003lte\022\245\007\n\002gt\030\004" +
- " \001(\007B\222\007\302H\216\007\n|\n\nfixed32.gt\032n!has(rules.lt" +
- ") && !has(rules.lte) && this <= rules.gt" +
- "? \'value must be greater than %s\'.format" +
- "([rules.gt]) : \'\'\n\265\001\n\rfixed32.gt_lt\032\243\001ha" +
- "s(rules.lt) && rules.lt >= rules.gt && (" +
- "this >= rules.lt || this <= rules.gt)? \'" +
- "value must be greater than %s and less t" +
- "han %s\'.format([rules.gt, rules.lt]) : \'" +
- "\'\n\275\001\n\027fixed32.gt_lt_exclusive\032\241\001has(rule" +
- "s.lt) && rules.lt < rules.gt && (rules.l" +
- "t <= this && this <= rules.gt)? \'value m" +
- "ust be greater than %s or less than %s\'." +
- "format([rules.gt, rules.lt]) : \'\'\n\305\001\n\016fi" +
- "xed32.gt_lte\032\262\001has(rules.lte) && rules.l" +
- "te >= rules.gt && (this > rules.lte || t" +
- "his <= rules.gt)? \'value must be greater" +
- " than %s and less than or equal to %s\'.f" +
- "ormat([rules.gt, rules.lte]) : \'\'\n\315\001\n\030fi" +
- "xed32.gt_lte_exclusive\032\260\001has(rules.lte) " +
- "&& rules.lte < rules.gt && (rules.lte < " +
- "this && this <= rules.gt)? \'value must b" +
- "e greater than %s or less than or equal " +
- "to %s\'.format([rules.gt, rules.lte]) : \'" +
- "\'H\001R\002gt\022\362\007\n\003gte\030\005 \001(\007B\335\007\302H\331\007\n\212\001\n\013fixed32" +
- ".gte\032{!has(rules.lt) && !has(rules.lte) " +
- "&& this < rules.gte? \'value must be grea" +
- "ter than or equal to %s\'.format([rules.g" +
- "te]) : \'\'\n\304\001\n\016fixed32.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.l" +
- "t]) : \'\'\n\314\001\n\030fixed32.gte_lt_exclusive\032\257\001" +
- "has(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\324\001\n\017fixed32.gte_lte\032\300\001ha" +
- "s(rules.lte) && rules.lte >= rules.gte &" +
- "& (this > rules.lte || this < rules.gte)" +
- "? \'value must be greater than or equal t" +
- "o %s and less than or equal to %s\'.forma" +
- "t([rules.gte, rules.lte]) : \'\'\n\334\001\n\031fixed" +
- "32.gte_lte_exclusive\032\276\001has(rules.lte) &&" +
- " rules.lte < rules.gte && (rules.lte < t" +
- "his && this < rules.gte)? \'value must be" +
- " greater than or equal to %s or less tha" +
- "n or equal to %s\'.format([rules.gte, rul" +
- "es.lte]) : \'\'H\001R\003gte\022{\n\002in\030\006 \003(\007Bk\302Hh\nf\n" +
- "\nfixed32.in\032X!(this in dyn(rules)[\'in\'])" +
- " ? \'value must be in list %s\'.format([dy" +
- "n(rules)[\'in\']]) : \'\'R\002in\022\177\n\006not_in\030\007 \003(" +
- "\007Bh\302He\nc\n\016fixed32.not_in\032Qthis in rules." +
- "not_in ? \'value must not be in list %s\'." +
- "format([rules.not_in]) : \'\'R\005notIn\0226\n\007ex" +
- "ample\030\010 \003(\007B\034\302H\031\n\027\n\017fixed32.example\032\004tru" +
- "eR\007example*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014gr" +
- "eater_than\"\266\025\n\014Fixed64Rules\022r\n\005const\030\001 \001" +
- "(\006B\\\302HY\nW\n\rfixed64.const\032Fthis != rules." +
- "const ? \'value must equal %s\'.format([ru" +
- "les.const]) : \'\'R\005const\022\220\001\n\002lt\030\002 \001(\006B~\302H" +
- "{\ny\n\nfixed64.lt\032k!has(rules.gte) && !has" +
- "(rules.gt) && this >= rules.lt? \'value m" +
- "ust be less than %s\'.format([rules.lt]) " +
- ": \'\'H\000R\002lt\022\243\001\n\003lte\030\003 \001(\006B\216\001\302H\212\001\n\207\001\n\013fixe" +
- "d64.lte\032x!has(rules.gte) && !has(rules.g" +
- "t) && this > rules.lte? \'value must be l" +
- "ess than or equal to %s\'.format([rules.l" +
- "te]) : \'\'H\000R\003lte\022\245\007\n\002gt\030\004 \001(\006B\222\007\302H\216\007\n|\n\n" +
- "fixed64.gt\032n!has(rules.lt) && !has(rules" +
- ".lte) && this <= rules.gt? \'value must b" +
- "e greater than %s\'.format([rules.gt]) : " +
- "\'\'\n\265\001\n\rfixed64.gt_lt\032\243\001has(rules.lt) && " +
- "rules.lt >= rules.gt && (this >= rules.l" +
- "t || this <= rules.gt)? \'value must be g" +
- "reater than %s and less than %s\'.format(" +
- "[rules.gt, rules.lt]) : \'\'\n\275\001\n\027fixed64.g" +
- "t_lt_exclusive\032\241\001has(rules.lt) && rules." +
- "lt < rules.gt && (rules.lt <= this && th" +
- "is <= rules.gt)? \'value must be greater " +
- "than %s or less than %s\'.format([rules.g" +
- "t, rules.lt]) : \'\'\n\305\001\n\016fixed64.gt_lte\032\262\001" +
+ "les.gt, rules.lte]) : \'\'H\001R\002gt\022\367\007\n\003gte\030\005" +
+ " \001(\017B\342\007\302H\336\007\n\213\001\n\014sfixed32.gte\032{!has(rules" +
+ ".lt) && !has(rules.lte) && this < rules." +
+ "gte? \'value must be greater than or equa" +
+ "l to %s\'.format([rules.gte]) : \'\'\n\305\001\n\017sf" +
+ "ixed32.gte_lt\032\261\001has(rules.lt) && rules.l" +
+ "t >= rules.gte && (this >= rules.lt || t" +
+ "his < rules.gte)? \'value must be greater" +
+ " than or equal to %s and less than %s\'.f" +
+ "ormat([rules.gte, rules.lt]) : \'\'\n\315\001\n\031sf" +
+ "ixed32.gte_lt_exclusive\032\257\001has(rules.lt) " +
+ "&& rules.lt < rules.gte && (rules.lt <= " +
+ "this && this < rules.gte)? \'value must b" +
+ "e greater than or equal to %s or less th" +
+ "an %s\'.format([rules.gte, rules.lt]) : \'" +
+ "\'\n\325\001\n\020sfixed32.gte_lte\032\300\001has(rules.lte) " +
+ "&& rules.lte >= rules.gte && (this > rul" +
+ "es.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\335\001\n\032sfixed32.gte_lte_e" +
+ "xclusive\032\276\001has(rules.lte) && rules.lte <" +
+ " rules.gte && (rules.lte < this && this " +
+ "< rules.gte)? \'value must be greater tha",
+ "n or equal to %s or less than or equal t" +
+ "o %s\'.format([rules.gte, rules.lte]) : \'" +
+ "\'H\001R\003gte\022|\n\002in\030\006 \003(\017Bl\302Hi\ng\n\013sfixed32.in" +
+ "\032X!(this in dyn(rules)[\'in\']) ? \'value m" +
+ "ust be in list %s\'.format([dyn(rules)[\'i" +
+ "n\']]) : \'\'R\002in\022\200\001\n\006not_in\030\007 \003(\017Bi\302Hf\nd\n\017" +
+ "sfixed32.not_in\032Qthis in rules.not_in ? " +
+ "\'value must not be in list %s\'.format([r" +
+ "ules.not_in]) : \'\'R\005notIn\0227\n\007example\030\010 \003" +
+ "(\017B\035\302H\032\n\030\n\020sfixed32.example\032\004trueR\007examp" +
+ "le*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_th" +
+ "an\"\310\025\n\rSFixed64Rules\022s\n\005const\030\001 \001(\020B]\302HZ" +
+ "\nX\n\016sfixed64.const\032Fthis != rules.const " +
+ "? \'value must equal %s\'.format([rules.co" +
+ "nst]) : \'\'R\005const\022\221\001\n\002lt\030\002 \001(\020B\177\302H|\nz\n\013s" +
+ "fixed64.lt\032k!has(rules.gte) && !has(rule" +
+ "s.gt) && this >= rules.lt? \'value must b" +
+ "e less than %s\'.format([rules.lt]) : \'\'H" +
+ "\000R\002lt\022\244\001\n\003lte\030\003 \001(\020B\217\001\302H\213\001\n\210\001\n\014sfixed64." +
+ "lte\032x!has(rules.gte) && !has(rules.gt) &" +
+ "& this > rules.lte? \'value must be less " +
+ "than or equal to %s\'.format([rules.lte])" +
+ " : \'\'H\000R\003lte\022\252\007\n\002gt\030\004 \001(\020B\227\007\302H\223\007\n}\n\013sfix" +
+ "ed64.gt\032n!has(rules.lt) && !has(rules.lt" +
+ "e) && this <= rules.gt? \'value must be g" +
+ "reater than %s\'.format([rules.gt]) : \'\'\n" +
+ "\266\001\n\016sfixed64.gt_lt\032\243\001has(rules.lt) && ru" +
+ "les.lt >= rules.gt && (this >= rules.lt " +
+ "|| this <= rules.gt)? \'value must be gre" +
+ "ater than %s and less than %s\'.format([r" +
+ "ules.gt, rules.lt]) : \'\'\n\276\001\n\030sfixed64.gt" +
+ "_lt_exclusive\032\241\001has(rules.lt) && rules.l" +
+ "t < rules.gt && (rules.lt <= this && thi" +
+ "s <= rules.gt)? \'value must be greater t" +
+ "han %s or less than %s\'.format([rules.gt" +
+ ", rules.lt]) : \'\'\n\306\001\n\017sfixed64.gt_lte\032\262\001" +
"has(rules.lte) && rules.lte >= rules.gt " +
"&& (this > rules.lte || this <= rules.gt" +
")? \'value must be greater than %s and le" +
"ss than or equal to %s\'.format([rules.gt" +
- ", rules.lte]) : \'\'\n\315\001\n\030fixed64.gt_lte_ex" +
- "clusive\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]) : \'\'H\001R\002gt\022\362\007\n\003gte" +
- "\030\005 \001(\006B\335\007\302H\331\007\n\212\001\n\013fixed64.gte\032{!has(rule" +
- "s.lt) && !has(rules.lte) && this < rules" +
- ".gte? \'value must be greater than or equ" +
- "al to %s\'.format([rules.gte]) : \'\'\n\304\001\n\016f" +
- "ixed64.gte_lt\032\261\001has(rules.lt) && rules.l" +
- "t >= rules.gte && (this >= rules.lt || t" +
- "his < rules.gte)? \'value must be greater" +
- " than or equal to %s and less than %s\'.f" +
- "ormat([rules.gte, rules.lt]) : \'\'\n\314\001\n\030fi" +
- "xed64.gte_lt_exclusive\032\257\001has(rules.lt) &" +
- "& rules.lt < rules.gte && (rules.lt <= t" +
- "his && this < rules.gte)? \'value must be" +
- " greater than or equal to %s or less tha" +
- "n %s\'.format([rules.gte, rules.lt]) : \'\'" +
- "\n\324\001\n\017fixed64.gte_lte\032\300\001has(rules.lte) &&" +
+ ", rules.lte]) : \'\'\n\316\001\n\031sfixed64.gt_lte_e" +
+ "xclusive\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]) : \'\'H\001R\002gt\022\367\007\n\003gt" +
+ "e\030\005 \001(\020B\342\007\302H\336\007\n\213\001\n\014sfixed64.gte\032{!has(ru" +
+ "les.lt) && !has(rules.lte) && this < rul" +
+ "es.gte? \'value must be greater than or e" +
+ "qual to %s\'.format([rules.gte]) : \'\'\n\305\001\n" +
+ "\017sfixed64.gte_lt\032\261\001has(rules.lt) && rule" +
+ "s.lt >= rules.gte && (this >= rules.lt |" +
+ "| this < rules.gte)? \'value must be grea" +
+ "ter than or equal to %s and less than %s" +
+ "\'.format([rules.gte, rules.lt]) : \'\'\n\315\001\n" +
+ "\031sfixed64.gte_lt_exclusive\032\257\001has(rules.l" +
+ "t) && rules.lt < rules.gte && (rules.lt " +
+ "<= this && this < rules.gte)? \'value mus" +
+ "t be greater than or equal to %s or less" +
+ " than %s\'.format([rules.gte, rules.lt]) " +
+ ": \'\'\n\325\001\n\020sfixed64.gte_lte\032\300\001has(rules.lt" +
+ "e) && rules.lte >= rules.gte && (this > " +
+ "rules.lte || this < rules.gte)? \'value m" +
+ "ust be greater than or equal to %s and l" +
+ "ess than or equal to %s\'.format([rules.g" +
+ "te, rules.lte]) : \'\'\n\335\001\n\032sfixed64.gte_lt" +
+ "e_exclusive\032\276\001has(rules.lte) && rules.lt" +
+ "e < rules.gte && (rules.lte < this && th" +
+ "is < rules.gte)? \'value must be greater " +
+ "than or equal to %s or less than or equa" +
+ "l to %s\'.format([rules.gte, rules.lte]) " +
+ ": \'\'H\001R\003gte\022|\n\002in\030\006 \003(\020Bl\302Hi\ng\n\013sfixed64" +
+ ".in\032X!(this in dyn(rules)[\'in\']) ? \'valu" +
+ "e must be in list %s\'.format([dyn(rules)" +
+ "[\'in\']]) : \'\'R\002in\022\200\001\n\006not_in\030\007 \003(\020Bi\302Hf\n" +
+ "d\n\017sfixed64.not_in\032Qthis in rules.not_in" +
+ " ? \'value must not be in list %s\'.format" +
+ "([rules.not_in]) : \'\'R\005notIn\0227\n\007example\030" +
+ "\010 \003(\020B\035\302H\032\n\030\n\020sfixed64.example\032\004trueR\007ex" +
+ "ample*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater" +
+ "_than\"\274\001\n\tBoolRules\022o\n\005const\030\001 \001(\010BY\302HV\n" +
+ "T\n\nbool.const\032Fthis != rules.const ? \'va" +
+ "lue must equal %s\'.format([rules.const])" +
+ " : \'\'R\005const\0223\n\007example\030\002 \003(\010B\031\302H\026\n\024\n\014bo" +
+ "ol.example\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002\"\2419\n" +
+ "\013StringRules\022s\n\005const\030\001 \001(\tB]\302HZ\nX\n\014stri" +
+ "ng.const\032Hthis != rules.const ? \'value m" +
+ "ust equal `%s`\'.format([rules.const]) : " +
+ "\'\'R\005const\022\203\001\n\003len\030\023 \001(\004Bq\302Hn\nl\n\nstring.l" +
+ "en\032^uint(this.size()) != rules.len ? \'va" +
+ "lue length must be %s characters\'.format" +
+ "([rules.len]) : \'\'R\003len\022\241\001\n\007min_len\030\002 \001(" +
+ "\004B\207\001\302H\203\001\n\200\001\n\016string.min_len\032nuint(this.s" +
+ "ize()) < rules.min_len ? \'value length m" +
+ "ust be at least %s characters\'.format([r" +
+ "ules.min_len]) : \'\'R\006minLen\022\237\001\n\007max_len\030" +
+ "\003 \001(\004B\205\001\302H\201\001\n\177\n\016string.max_len\032muint(thi" +
+ "s.size()) > rules.max_len ? \'value lengt" +
+ "h must be at most %s characters\'.format(" +
+ "[rules.max_len]) : \'\'R\006maxLen\022\245\001\n\tlen_by" +
+ "tes\030\024 \001(\004B\207\001\302H\203\001\n\200\001\n\020string.len_bytes\032lu" +
+ "int(bytes(this).size()) != rules.len_byt" +
+ "es ? \'value length must be %s bytes\'.for" +
+ "mat([rules.len_bytes]) : \'\'R\010lenBytes\022\255\001" +
+ "\n\tmin_bytes\030\004 \001(\004B\217\001\302H\213\001\n\210\001\n\020string.min_" +
+ "bytes\032tuint(bytes(this).size()) < rules." +
+ "min_bytes ? \'value length must be at lea" +
+ "st %s bytes\'.format([rules.min_bytes]) :" +
+ " \'\'R\010minBytes\022\254\001\n\tmax_bytes\030\005 \001(\004B\216\001\302H\212\001" +
+ "\n\207\001\n\020string.max_bytes\032suint(bytes(this)." +
+ "size()) > rules.max_bytes ? \'value lengt" +
+ "h must be at most %s bytes\'.format([rule" +
+ "s.max_bytes]) : \'\'R\010maxBytes\022\226\001\n\007pattern" +
+ "\030\006 \001(\tB|\302Hy\nw\n\016string.pattern\032e!this.mat" +
+ "ches(rules.pattern) ? \'value does not ma" +
+ "tch regex pattern `%s`\'.format([rules.pa" +
+ "ttern]) : \'\'R\007pattern\022\214\001\n\006prefix\030\007 \001(\tBt" +
+ "\302Hq\no\n\rstring.prefix\032^!this.startsWith(r" +
+ "ules.prefix) ? \'value does not have pref" +
+ "ix `%s`\'.format([rules.prefix]) : \'\'R\006pr" +
+ "efix\022\212\001\n\006suffix\030\010 \001(\tBr\302Ho\nm\n\rstring.suf" +
+ "fix\032\\!this.endsWith(rules.suffix) ? \'val" +
+ "ue does not have suffix `%s`\'.format([ru" +
+ "les.suffix]) : \'\'R\006suffix\022\232\001\n\010contains\030\t" +
+ " \001(\tB~\302H{\ny\n\017string.contains\032f!this.cont" +
+ "ains(rules.contains) ? \'value does not c" +
+ "ontain substring `%s`\'.format([rules.con" +
+ "tains]) : \'\'R\010contains\022\245\001\n\014not_contains\030" +
+ "\027 \001(\tB\201\001\302H~\n|\n\023string.not_contains\032ethis" +
+ ".contains(rules.not_contains) ? \'value c" +
+ "ontains substring `%s`\'.format([rules.no" +
+ "t_contains]) : \'\'R\013notContains\022z\n\002in\030\n \003" +
+ "(\tBj\302Hg\ne\n\tstring.in\032X!(this in dyn(rule" +
+ "s)[\'in\']) ? \'value must be in list %s\'.f" +
+ "ormat([dyn(rules)[\'in\']]) : \'\'R\002in\022~\n\006no" +
+ "t_in\030\013 \003(\tBg\302Hd\nb\n\rstring.not_in\032Qthis i" +
+ "n rules.not_in ? \'value must not be in l" +
+ "ist %s\'.format([rules.not_in]) : \'\'R\005not" +
+ "In\022\346\001\n\005email\030\014 \001(\010B\315\001\302H\311\001\na\n\014string.emai" +
+ "l\022#value must be a valid email address\032," +
+ "!rules.email || this == \'\' || this.isEma" +
+ "il()\nd\n\022string.email_empty\0222value is emp" +
+ "ty, which is not a valid email address\032\032" +
+ "!rules.email || this != \'\'H\000R\005email\022\361\001\n\010" +
+ "hostname\030\r \001(\010B\322\001\302H\316\001\ne\n\017string.hostname" +
+ "\022\036value must be a valid hostname\0322!rules" +
+ ".hostname || this == \'\' || this.isHostna" +
+ "me()\ne\n\025string.hostname_empty\022-value is " +
+ "empty, which is not a valid hostname\032\035!r" +
+ "ules.hostname || this != \'\'H\000R\010hostname\022" +
+ "\313\001\n\002ip\030\016 \001(\010B\270\001\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 va" +
+ "lid IP address\032\027!rules.ip || this != \'\'H" +
+ "\000R\002ip\022\334\001\n\004ipv4\030\017 \001(\010B\305\001\302H\301\001\n\\\n\013string.ip" +
+ "v4\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!rule" +
+ "s.ipv4 || this != \'\'H\000R\004ipv4\022\334\001\n\004ipv6\030\020 " +
+ "\001(\010B\305\001\302H\301\001\n\\\n\013string.ipv6\022\"value must be" +
+ " a valid IPv6 address\032)!rules.ipv6 || th" +
+ "is == \'\' || this.isIp(6)\na\n\021string.ipv6_" +
+ "empty\0221value is empty, which is not a va" +
+ "lid IPv6 address\032\031!rules.ipv6 || this !=" +
+ " \'\'H\000R\004ipv6\022\304\001\n\003uri\030\021 \001(\010B\257\001\302H\253\001\nQ\n\nstri" +
+ "ng.uri\022\031value must be a valid URI\032(!rule" +
+ "s.uri || this == \'\' || this.isUri()\nV\n\020s" +
+ "tring.uri_empty\022(value is empty, which i" +
+ "s not a valid URI\032\030!rules.uri || this !=" +
+ " \'\'H\000R\003uri\022n\n\007uri_ref\030\022 \001(\010BS\302HP\nN\n\016stri" +
+ "ng.uri_ref\022\031value must be a valid URI\032!!" +
+ "rules.uri_ref || this.isUriRef()H\000R\006uriR" +
+ "ef\022\231\002\n\007address\030\025 \001(\010B\374\001\302H\370\001\n\201\001\n\016string.a" +
+ "ddress\022-value must be a valid hostname, " +
+ "or ip address\032@!rules.address || this ==" +
+ " \'\' || this.isHostname() || this.isIp()\n" +
+ "r\n\024string.address_empty\022!rules.ipv4_with_prefixlen || th" +
+ "is == \'\' || this.isIpPrefix(4)\n\222\001\n strin" +
+ "g.ipv4_with_prefixlen_empty\022Dvalue is em" +
+ "pty, which is not a valid IPv4 address w" +
+ "ith prefix length\032(!rules.ipv4_with_pref" +
+ "ixlen || this != \'\'H\000R\021ipv4WithPrefixlen" +
+ "\022\342\002\n\023ipv6_with_prefixlen\030\034 \001(\010B\257\002\302H\253\002\n\223\001" +
+ "\n\032string.ipv6_with_prefixlen\0225value must" +
+ " be a valid IPv6 address with prefix len" +
+ "gth\032>!rules.ipv6_with_prefixlen || this " +
+ "== \'\' || this.isIpPrefix(6)\n\222\001\n string.i" +
+ "pv6_with_prefixlen_empty\022Dvalue is empty" +
+ ", which is not a valid IPv6 address with" +
+ " prefix length\032(!rules.ipv6_with_prefixl" +
+ "en || this != \'\'H\000R\021ipv6WithPrefixlen\022\374\001" +
+ "\n\tip_prefix\030\035 \001(\010B\334\001\302H\330\001\nl\n\020string.ip_pr" +
+ "efix\022\037value must be a valid IP prefix\0327!" +
+ "rules.ip_prefix || this == \'\' || this.is" +
+ "IpPrefix(true)\nh\n\026string.ip_prefix_empty" +
+ "\022.value is empty, which is not a valid I" +
+ "P prefix\032\036!rules.ip_prefix || this != \'\'" +
+ "H\000R\010ipPrefix\022\217\002\n\013ipv4_prefix\030\036 \001(\010B\353\001\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.ho" +
+ "st_and_port_empty\0227value is empty, which" +
+ " is not a valid host and port pair\032\"!rul" +
+ "es.host_and_port || this != \'\'H\000R\013hostAn" +
+ "dPort\022\270\005\n\020well_known_regex\030\030 \001(\0162\030.buf.v" +
+ "alidate.KnownRegexB\361\004\302H\355\004\n\360\001\n#string.wel" +
+ "l_known_regex.header_name\022&value must be" +
+ " a valid HTTP header name\032\240\001rules.well_k" +
+ "nown_regex != 1 || this == \'\' || this.ma" +
+ "tches(!has(rules.strict) || rules.strict" +
+ " ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' " +
+ ":\'^[^\\u0000\\u000A\\u000D]+$\')\n\215\001\n)string." +
+ "well_known_regex.header_name_empty\0225valu" +
+ "e is empty, which is not a valid HTTP he" +
+ "ader name\032)rules.well_known_regex != 1 |" +
+ "| this != \'\'\n\347\001\n$string.well_known_regex" +
+ ".header_value\022\'value must be a valid HTT" +
+ "P header value\032\225\001rules.well_known_regex " +
+ "!= 2 || this.matches(!has(rules.strict) " +
+ "|| rules.strict ?\'^[^\\u0000-\\u0008\\u000A" +
+ "-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000" +
+ "D]*$\')H\000R\016wellKnownRegex\022\026\n\006strict\030\031 \001(\010" +
+ "R\006strict\0225\n\007example\030\" \003(\tB\033\302H\030\n\026\n\016string" +
+ ".example\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\014\n\nwe" +
+ "ll_known\"\243\021\n\nBytesRules\022m\n\005const\030\001 \001(\014BW" +
+ "\302HT\nR\n\013bytes.const\032Cthis != rules.const " +
+ "? \'value must be %x\'.format([rules.const" +
+ "]) : \'\'R\005const\022}\n\003len\030\r \001(\004Bk\302Hh\nf\n\tbyte" +
+ "s.len\032Yuint(this.size()) != rules.len ? " +
+ "\'value length must be %s bytes\'.format([" +
+ "rules.len]) : \'\'R\003len\022\230\001\n\007min_len\030\002 \001(\004B" +
+ "\177\302H|\nz\n\rbytes.min_len\032iuint(this.size())" +
+ " < rules.min_len ? \'value length must be" +
+ " at least %s bytes\'.format([rules.min_le" +
+ "n]) : \'\'R\006minLen\022\220\001\n\007max_len\030\003 \001(\004Bw\302Ht\n" +
+ "r\n\rbytes.max_len\032auint(this.size()) > ru" +
+ "les.max_len ? \'value must be at most %s " +
+ "bytes\'.format([rules.max_len]) : \'\'R\006max" +
+ "Len\022\231\001\n\007pattern\030\004 \001(\tB\177\302H|\nz\n\rbytes.patt" +
+ "ern\032i!string(this).matches(rules.pattern" +
+ ") ? \'value must match regex pattern `%s`" +
+ "\'.format([rules.pattern]) : \'\'R\007pattern\022" +
+ "\211\001\n\006prefix\030\005 \001(\014Bq\302Hn\nl\n\014bytes.prefix\032\\!" +
+ "this.startsWith(rules.prefix) ? \'value d" +
+ "oes not have prefix %x\'.format([rules.pr" +
+ "efix]) : \'\'R\006prefix\022\207\001\n\006suffix\030\006 \001(\014Bo\302H" +
+ "l\nj\n\014bytes.suffix\032Z!this.endsWith(rules." +
+ "suffix) ? \'value does not have suffix %x" +
+ "\'.format([rules.suffix]) : \'\'R\006suffix\022\215\001" +
+ "\n\010contains\030\007 \001(\014Bq\302Hn\nl\n\016bytes.contains\032" +
+ "Z!this.contains(rules.contains) ? \'value" +
+ " does not contain %x\'.format([rules.cont" +
+ "ains]) : \'\'R\010contains\022\233\001\n\002in\030\010 \003(\014B\212\001\302H\206" +
+ "\001\n\203\001\n\010bytes.in\032wdyn(rules)[\'in\'].size() " +
+ "> 0 && !(this in dyn(rules)[\'in\']) ? \'va" +
+ "lue must be in list %s\'.format([dyn(rule" +
+ "s)[\'in\']]) : \'\'R\002in\022}\n\006not_in\030\t \003(\014Bf\302Hc" +
+ "\na\n\014bytes.not_in\032Qthis in rules.not_in ?" +
+ " \'value must not be in list %s\'.format([" +
+ "rules.not_in]) : \'\'R\005notIn\022\357\001\n\002ip\030\n \001(\010B" +
+ "\334\001\302H\330\001\nt\n\010bytes.ip\022 value must be a vali" +
+ "d 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() != 0H\000R\002ip\022\352\001\n\004ipv4\030\013 " +
+ "\001(\010B\323\001\302H\317\001\ne\n\nbytes.ipv4\022\"value must be " +
+ "a valid IPv4 address\0323!rules.ipv4 || thi" +
+ "s.size() == 0 || this.size() == 4\nf\n\020byt" +
+ "es.ipv4_empty\0221value is empty, which is " +
+ "not a valid IPv4 address\032\037!rules.ipv4 ||" +
+ " this.size() != 0H\000R\004ipv4\022\353\001\n\004ipv6\030\014 \001(\010" +
+ "B\324\001\302H\320\001\nf\n\nbytes.ipv6\022\"value must be a v" +
+ "alid IPv6 address\0324!rules.ipv6 || this.s" +
+ "ize() == 0 || this.size() == 16\nf\n\020bytes" +
+ ".ipv6_empty\0221value is empty, which is no" +
+ "t a valid IPv6 address\032\037!rules.ipv6 || t" +
+ "his.size() != 0H\000R\004ipv6\0224\n\007example\030\016 \003(\014" +
+ "B\032\302H\027\n\025\n\rbytes.example\032\004trueR\007example*\t\010" +
+ "\350\007\020\200\200\200\200\002B\014\n\nwell_known\"\327\003\n\tEnumRules\022o\n\005" +
+ "const\030\001 \001(\005BY\302HV\nT\n\nenum.const\032Fthis != " +
+ "rules.const ? \'value must equal %s\'.form" +
+ "at([rules.const]) : \'\'R\005const\022!\n\014defined" +
+ "_only\030\002 \001(\010R\013definedOnly\022x\n\002in\030\003 \003(\005Bh\302H" +
+ "e\nc\n\007enum.in\032X!(this in dyn(rules)[\'in\']" +
+ ") ? \'value must be in list %s\'.format([d" +
+ "yn(rules)[\'in\']]) : \'\'R\002in\022|\n\006not_in\030\004 \003" +
+ "(\005Be\302Hb\n`\n\013enum.not_in\032Qthis in rules.no" +
+ "t_in ? \'value must not be in list %s\'.fo" +
+ "rmat([rules.not_in]) : \'\'R\005notIn\0223\n\007exam" +
+ "ple\030\005 \003(\005B\031\302H\026\n\024\n\014enum.example\032\004trueR\007ex" +
+ "ample*\t\010\350\007\020\200\200\200\200\002\"\244\004\n\rRepeatedRules\022\250\001\n\tm" +
+ "in_items\030\001 \001(\004B\212\001\302H\206\001\n\203\001\n\022repeated.min_i" +
+ "tems\032muint(this.size()) < rules.min_item" +
+ "s ? \'value must contain at least %d item" +
+ "(s)\'.format([rules.min_items]) : \'\'R\010min" +
+ "Items\022\254\001\n\tmax_items\030\002 \001(\004B\216\001\302H\212\001\n\207\001\n\022rep" +
+ "eated.max_items\032quint(this.size()) > rul" +
+ "es.max_items ? \'value must contain no mo" +
+ "re than %s item(s)\'.format([rules.max_it" +
+ "ems]) : \'\'R\010maxItems\022x\n\006unique\030\003 \001(\010B`\302H" +
+ "]\n[\n\017repeated.unique\022(repeated value mus" +
+ "t contain unique items\032\036!rules.unique ||" +
+ " this.unique()R\006unique\0224\n\005items\030\004 \001(\0132\036." +
+ "buf.validate.FieldConstraintsR\005items*\t\010\350" +
+ "\007\020\200\200\200\200\002\"\270\003\n\010MapRules\022\231\001\n\tmin_pairs\030\001 \001(\004" +
+ "B|\302Hy\nw\n\rmap.min_pairs\032fuint(this.size()" +
+ ") < rules.min_pairs ? \'map must be at le" +
+ "ast %d entries\'.format([rules.min_pairs]" +
+ ") : \'\'R\010minPairs\022\230\001\n\tmax_pairs\030\002 \001(\004B{\302H" +
+ "x\nv\n\rmap.max_pairs\032euint(this.size()) > " +
+ "rules.max_pairs ? \'map must be at most %" +
+ "d entries\'.format([rules.max_pairs]) : \'" +
+ "\'R\010maxPairs\0222\n\004keys\030\004 \001(\0132\036.buf.validate" +
+ ".FieldConstraintsR\004keys\0226\n\006values\030\005 \001(\0132" +
+ "\036.buf.validate.FieldConstraintsR\006values*" +
+ "\t\010\350\007\020\200\200\200\200\002\"1\n\010AnyRules\022\016\n\002in\030\002 \003(\tR\002in\022\025" +
+ "\n\006not_in\030\003 \003(\tR\005notIn\"\242\027\n\rDurationRules\022" +
+ "\216\001\n\005const\030\002 \001(\0132\031.google.protobuf.Durati" +
+ "onB]\302HZ\nX\n\016duration.const\032Fthis != rules" +
+ ".const ? \'value must equal %s\'.format([r" +
+ "ules.const]) : \'\'R\005const\022\254\001\n\002lt\030\003 \001(\0132\031." +
+ "google.protobuf.DurationB\177\302H|\nz\n\013duratio" +
+ "n.lt\032k!has(rules.gte) && !has(rules.gt) " +
+ "&& this >= rules.lt? \'value must be less" +
+ " than %s\'.format([rules.lt]) : \'\'H\000R\002lt\022" +
+ "\277\001\n\003lte\030\004 \001(\0132\031.google.protobuf.Duration" +
+ "B\217\001\302H\213\001\n\210\001\n\014duration.lte\032x!has(rules.gte" +
+ ") && !has(rules.gt) && this > rules.lte?" +
+ " \'value must be less than or equal to %s" +
+ "\'.format([rules.lte]) : \'\'H\000R\003lte\022\305\007\n\002gt" +
+ "\030\005 \001(\0132\031.google.protobuf.DurationB\227\007\302H\223\007" +
+ "\n}\n\013duration.gt\032n!has(rules.lt) && !has(" +
+ "rules.lte) && this <= rules.gt? \'value m" +
+ "ust be greater than %s\'.format([rules.gt" +
+ "]) : \'\'\n\266\001\n\016duration.gt_lt\032\243\001has(rules.l" +
+ "t) && rules.lt >= rules.gt && (this >= r" +
+ "ules.lt || this <= rules.gt)? \'value mus" +
+ "t be greater than %s and less than %s\'.f" +
+ "ormat([rules.gt, rules.lt]) : \'\'\n\276\001\n\030dur" +
+ "ation.gt_lt_exclusive\032\241\001has(rules.lt) &&" +
+ " rules.lt < rules.gt && (rules.lt <= thi" +
+ "s && this <= rules.gt)? \'value must be g" +
+ "reater than %s or less than %s\'.format([" +
+ "rules.gt, rules.lt]) : \'\'\n\306\001\n\017duration.g" +
+ "t_lte\032\262\001has(rules.lte) && rules.lte >= r" +
+ "ules.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\316\001\n\031duration." +
+ "gt_lte_exclusive\032\260\001has(rules.lte) && rul" +
+ "es.lte < rules.gt && (rules.lte < this &" +
+ "& this <= rules.gt)? \'value must be grea" +
+ "ter than %s or less than or equal to %s\'" +
+ ".format([rules.gt, rules.lte]) : \'\'H\001R\002g" +
+ "t\022\222\010\n\003gte\030\006 \001(\0132\031.google.protobuf.Durati",
+ "onB\342\007\302H\336\007\n\213\001\n\014duration.gte\032{!has(rules.l" +
+ "t) && !has(rules.lte) && this < rules.gt" +
+ "e? \'value must be greater than or equal " +
+ "to %s\'.format([rules.gte]) : \'\'\n\305\001\n\017dura" +
+ "tion.gte_lt\032\261\001has(rules.lt) && rules.lt " +
+ ">= rules.gte && (this >= rules.lt || thi" +
+ "s < rules.gte)? \'value must be greater t" +
+ "han or equal to %s and less than %s\'.for" +
+ "mat([rules.gte, rules.lt]) : \'\'\n\315\001\n\031dura" +
+ "tion.gte_lt_exclusive\032\257\001has(rules.lt) &&" +
+ " rules.lt < rules.gte && (rules.lt <= th" +
+ "is && this < rules.gte)? \'value must be " +
+ "greater than or equal to %s or less than" +
+ " %s\'.format([rules.gte, rules.lt]) : \'\'\n" +
+ "\325\001\n\020duration.gte_lte\032\300\001has(rules.lte) &&" +
" rules.lte >= rules.gte && (this > rules" +
".lte || this < rules.gte)? \'value must b" +
"e greater than or equal to %s and less t" +
"han or equal to %s\'.format([rules.gte, r" +
- "ules.lte]) : \'\'\n\334\001\n\031fixed64.gte_lte_excl" +
- "usive\032\276\001has(rules.lte) && rules.lte < ru" +
- "les.gte && (rules.lte < this && this < r" +
- "ules.gte)? \'value must be greater than o" +
- "r equal to %s or less than or equal to %" +
- "s\'.format([rules.gte, rules.lte]) : \'\'H\001" +
- "R\003gte\022{\n\002in\030\006 \003(\006Bk\302Hh\nf\n\nfixed64.in\032X!(" +
- "this in dyn(rules)[\'in\']) ? \'value must " +
- "be in list %s\'.format([dyn(rules)[\'in\']]" +
- ") : \'\'R\002in\022\177\n\006not_in\030\007 \003(\006Bh\302He\nc\n\016fixed" +
- "64.not_in\032Qthis in rules.not_in ? \'value" +
- " must not be in list %s\'.format([rules.n" +
- "ot_in]) : \'\'R\005notIn\0226\n\007example\030\010 \003(\006B\034\302H" +
- "\031\n\027\n\017fixed64.example\032\004trueR\007example*\t\010\350\007" +
- "\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_than\"\310\025\n\r" +
- "SFixed32Rules\022s\n\005const\030\001 \001(\017B]\302HZ\nX\n\016sfi" +
- "xed32.const\032Fthis != rules.const ? \'valu" +
- "e must equal %s\'.format([rules.const]) :" +
- " \'\'R\005const\022\221\001\n\002lt\030\002 \001(\017B\177\302H|\nz\n\013sfixed32" +
- ".lt\032k!has(rules.gte) && !has(rules.gt) &" +
- "& this >= rules.lt? \'value must be less " +
- "than %s\'.format([rules.lt]) : \'\'H\000R\002lt\022\244" +
- "\001\n\003lte\030\003 \001(\017B\217\001\302H\213\001\n\210\001\n\014sfixed32.lte\032x!h" +
- "as(rules.gte) && !has(rules.gt) && this " +
- "> rules.lte? \'value must be less than or" +
- " equal to %s\'.format([rules.lte]) : \'\'H\000" +
- "R\003lte\022\252\007\n\002gt\030\004 \001(\017B\227\007\302H\223\007\n}\n\013sfixed32.gt" +
- "\032n!has(rules.lt) && !has(rules.lte) && t" +
- "his <= rules.gt? \'value must be greater " +
- "than %s\'.format([rules.gt]) : \'\'\n\266\001\n\016sfi" +
- "xed32.gt_lt\032\243\001has(rules.lt) && rules.lt " +
- ">= rules.gt && (this >= rules.lt || this" +
- " <= rules.gt)? \'value must be greater th" +
- "an %s and less than %s\'.format([rules.gt" +
- ", rules.lt]) : \'\'\n\276\001\n\030sfixed32.gt_lt_exc" +
- "lusive\032\241\001has(rules.lt) && rules.lt < rul" +
- "es.gt && (rules.lt <= this && this <= ru" +
- "les.gt)? \'value must be greater than %s " +
- "or less than %s\'.format([rules.gt, rules" +
- ".lt]) : \'\'\n\306\001\n\017sfixed32.gt_lte\032\262\001has(rul" +
- "es.lte) && rules.lte >= rules.gt && (thi" +
- "s > rules.lte || this <= rules.gt)? \'val" +
- "ue must be greater than %s and less than" +
- " or equal to %s\'.format([rules.gt, rules" +
- ".lte]) : \'\'\n\316\001\n\031sfixed32.gt_lte_exclusiv" +
- "e\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]) : \'\'H\001R\002gt\022\367\007\n\003gte\030\005 \001(\017" +
- "B\342\007\302H\336\007\n\213\001\n\014sfixed32.gte\032{!has(rules.lt)" +
- " && !has(rules.lte) && this < rules.gte?" +
- " \'value must be greater than or equal to" +
- " %s\'.format([rules.gte]) : \'\'\n\305\001\n\017sfixed" +
- "32.gte_lt\032\261\001has(rules.lt) && rules.lt >=" +
- " rules.gte && (this >= rules.lt || this " +
- "< rules.gte)? \'value must be greater tha" +
- "n or equal to %s and less than %s\'.forma" +
- "t([rules.gte, rules.lt]) : \'\'\n\315\001\n\031sfixed" +
- "32.gte_lt_exclusive\032\257\001has(rules.lt) && r" +
- "ules.lt < rules.gte && (rules.lt <= this" +
- " && this < rules.gte)? \'value must be gr" +
- "eater than or equal to %s or less than %" +
- "s\'.format([rules.gte, rules.lt]) : \'\'\n\325\001" +
- "\n\020sfixed32.gte_lte\032\300\001has(rules.lte) && r" +
- "ules.lte >= rules.gte && (this > rules.l" +
- "te || this < rules.gte)? \'value must be " +
- "greater than or equal to %s and less tha" +
- "n or equal to %s\'.format([rules.gte, rul" +
- "es.lte]) : \'\'\n\335\001\n\032sfixed32.gte_lte_exclu" +
- "sive\032\276\001has(rules.lte) && rules.lte < rul" +
- "es.gte && (rules.lte < this && this < ru",
- "les.gte)? \'value must be greater than or" +
- " equal to %s or less than or equal to %s" +
- "\'.format([rules.gte, rules.lte]) : \'\'H\001R" +
- "\003gte\022|\n\002in\030\006 \003(\017Bl\302Hi\ng\n\013sfixed32.in\032X!(" +
- "this in dyn(rules)[\'in\']) ? \'value must " +
- "be in list %s\'.format([dyn(rules)[\'in\']]" +
- ") : \'\'R\002in\022\200\001\n\006not_in\030\007 \003(\017Bi\302Hf\nd\n\017sfix" +
- "ed32.not_in\032Qthis in rules.not_in ? \'val" +
- "ue must not be in list %s\'.format([rules" +
- ".not_in]) : \'\'R\005notIn\0227\n\007example\030\010 \003(\017B\035" +
- "\302H\032\n\030\n\020sfixed32.example\032\004trueR\007example*\t" +
- "\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_than\"\310" +
- "\025\n\rSFixed64Rules\022s\n\005const\030\001 \001(\020B]\302HZ\nX\n\016" +
- "sfixed64.const\032Fthis != rules.const ? \'v" +
- "alue must equal %s\'.format([rules.const]" +
- ") : \'\'R\005const\022\221\001\n\002lt\030\002 \001(\020B\177\302H|\nz\n\013sfixe" +
- "d64.lt\032k!has(rules.gte) && !has(rules.gt" +
- ") && this >= rules.lt? \'value must be le" +
- "ss than %s\'.format([rules.lt]) : \'\'H\000R\002l" +
- "t\022\244\001\n\003lte\030\003 \001(\020B\217\001\302H\213\001\n\210\001\n\014sfixed64.lte\032" +
- "x!has(rules.gte) && !has(rules.gt) && th" +
- "is > rules.lte? \'value must be less than" +
- " or equal to %s\'.format([rules.lte]) : \'" +
- "\'H\000R\003lte\022\252\007\n\002gt\030\004 \001(\020B\227\007\302H\223\007\n}\n\013sfixed64" +
+ "ules.lte]) : \'\'\n\335\001\n\032duration.gte_lte_exc" +
+ "lusive\032\276\001has(rules.lte) && rules.lte < r" +
+ "ules.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" +
+ "\001R\003gte\022\227\001\n\002in\030\007 \003(\0132\031.google.protobuf.Du" +
+ "rationBl\302Hi\ng\n\013duration.in\032X!(this in dy" +
+ "n(rules)[\'in\']) ? \'value must be in list" +
+ " %s\'.format([dyn(rules)[\'in\']]) : \'\'R\002in" +
+ "\022\233\001\n\006not_in\030\010 \003(\0132\031.google.protobuf.Dura" +
+ "tionBi\302Hf\nd\n\017duration.not_in\032Qthis in ru" +
+ "les.not_in ? \'value must not be in list " +
+ "%s\'.format([rules.not_in]) : \'\'R\005notIn\022R" +
+ "\n\007example\030\t \003(\0132\031.google.protobuf.Durati" +
+ "onB\035\302H\032\n\030\n\020duration.example\032\004trueR\007examp" +
+ "le*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_th" +
+ "an\"\260\030\n\016TimestampRules\022\220\001\n\005const\030\002 \001(\0132\032." +
+ "google.protobuf.TimestampB^\302H[\nY\n\017timest" +
+ "amp.const\032Fthis != rules.const ? \'value " +
+ "must equal %s\'.format([rules.const]) : \'" +
+ "\'R\005const\022\257\001\n\002lt\030\003 \001(\0132\032.google.protobuf." +
+ "TimestampB\200\001\302H}\n{\n\014timestamp.lt\032k!has(ru" +
+ "les.gte) && !has(rules.gt) && this >= ru" +
+ "les.lt? \'value must be less than %s\'.for" +
+ "mat([rules.lt]) : \'\'H\000R\002lt\022\301\001\n\003lte\030\004 \001(\013" +
+ "2\032.google.protobuf.TimestampB\220\001\302H\214\001\n\211\001\n\r" +
+ "timestamp.lte\032x!has(rules.gte) && !has(r" +
+ "ules.gt) && this > rules.lte? \'value mus" +
+ "t be less than or equal to %s\'.format([r" +
+ "ules.lte]) : \'\'H\000R\003lte\022s\n\006lt_now\030\007 \001(\010BZ" +
+ "\302HW\nU\n\020timestamp.lt_now\032A(rules.lt_now &" +
+ "& this > now) ? \'value must be less than" +
+ " now\' : \'\'H\000R\005ltNow\022\313\007\n\002gt\030\005 \001(\0132\032.googl" +
+ "e.protobuf.TimestampB\234\007\302H\230\007\n~\n\014timestamp" +
".gt\032n!has(rules.lt) && !has(rules.lte) &" +
"& this <= rules.gt? \'value must be great" +
- "er than %s\'.format([rules.gt]) : \'\'\n\266\001\n\016" +
- "sfixed64.gt_lt\032\243\001has(rules.lt) && rules." +
- "lt >= rules.gt && (this >= rules.lt || t" +
- "his <= rules.gt)? \'value must be greater" +
- " than %s and less than %s\'.format([rules" +
- ".gt, rules.lt]) : \'\'\n\276\001\n\030sfixed64.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, ru" +
- "les.lt]) : \'\'\n\306\001\n\017sfixed64.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 t" +
- "han or equal to %s\'.format([rules.gt, ru" +
- "les.lte]) : \'\'\n\316\001\n\031sfixed64.gt_lte_exclu" +
- "sive\032\260\001has(rules.lte) && rules.lte < rul" +
- "es.gt && (rules.lte < this && this <= ru" +
- "les.gt)? \'value must be greater than %s " +
- "or less than or equal to %s\'.format([rul" +
- "es.gt, rules.lte]) : \'\'H\001R\002gt\022\367\007\n\003gte\030\005 " +
- "\001(\020B\342\007\302H\336\007\n\213\001\n\014sfixed64.gte\032{!has(rules." +
- "lt) && !has(rules.lte) && this < rules.g" +
- "te? \'value must be greater than or equal" +
- " to %s\'.format([rules.gte]) : \'\'\n\305\001\n\017sfi" +
- "xed64.gte_lt\032\261\001has(rules.lt) && rules.lt" +
- " >= rules.gte && (this >= rules.lt || th" +
- "is < rules.gte)? \'value must be greater " +
- "than or equal to %s and less than %s\'.fo" +
- "rmat([rules.gte, rules.lt]) : \'\'\n\315\001\n\031sfi" +
- "xed64.gte_lt_exclusive\032\257\001has(rules.lt) &" +
- "& rules.lt < rules.gte && (rules.lt <= t" +
- "his && this < rules.gte)? \'value must be" +
- " greater than or equal to %s or less tha" +
- "n %s\'.format([rules.gte, rules.lt]) : \'\'" +
- "\n\325\001\n\020sfixed64.gte_lte\032\300\001has(rules.lte) &" +
- "& rules.lte >= rules.gte && (this > rule" +
- "s.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\335\001\n\032sfixed64.gte_lte_ex" +
- "clusive\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]) : \'\'" +
- "H\001R\003gte\022|\n\002in\030\006 \003(\020Bl\302Hi\ng\n\013sfixed64.in\032" +
- "X!(this in dyn(rules)[\'in\']) ? \'value mu" +
- "st be in list %s\'.format([dyn(rules)[\'in" +
- "\']]) : \'\'R\002in\022\200\001\n\006not_in\030\007 \003(\020Bi\302Hf\nd\n\017s" +
- "fixed64.not_in\032Qthis in rules.not_in ? \'" +
- "value must not be in list %s\'.format([ru" +
- "les.not_in]) : \'\'R\005notIn\0227\n\007example\030\010 \003(" +
- "\020B\035\302H\032\n\030\n\020sfixed64.example\032\004trueR\007exampl" +
- "e*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_tha" +
- "n\"\274\001\n\tBoolRules\022o\n\005const\030\001 \001(\010BY\302HV\nT\n\nb" +
- "ool.const\032Fthis != rules.const ? \'value " +
- "must equal %s\'.format([rules.const]) : \'" +
- "\'R\005const\0223\n\007example\030\002 \003(\010B\031\302H\026\n\024\n\014bool.e" +
- "xample\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002\"\2419\n\013Str" +
- "ingRules\022s\n\005const\030\001 \001(\tB]\302HZ\nX\n\014string.c" +
- "onst\032Hthis != rules.const ? \'value must " +
- "equal `%s`\'.format([rules.const]) : \'\'R\005" +
- "const\022\203\001\n\003len\030\023 \001(\004Bq\302Hn\nl\n\nstring.len\032^" +
- "uint(this.size()) != rules.len ? \'value " +
- "length must be %s characters\'.format([ru" +
- "les.len]) : \'\'R\003len\022\241\001\n\007min_len\030\002 \001(\004B\207\001" +
- "\302H\203\001\n\200\001\n\016string.min_len\032nuint(this.size(" +
- ")) < rules.min_len ? \'value length must " +
- "be at least %s characters\'.format([rules" +
- ".min_len]) : \'\'R\006minLen\022\237\001\n\007max_len\030\003 \001(" +
- "\004B\205\001\302H\201\001\n\177\n\016string.max_len\032muint(this.si" +
- "ze()) > rules.max_len ? \'value length mu" +
- "st be at most %s characters\'.format([rul" +
- "es.max_len]) : \'\'R\006maxLen\022\245\001\n\tlen_bytes\030" +
- "\024 \001(\004B\207\001\302H\203\001\n\200\001\n\020string.len_bytes\032luint(" +
- "bytes(this).size()) != rules.len_bytes ?" +
- " \'value length must be %s bytes\'.format(" +
- "[rules.len_bytes]) : \'\'R\010lenBytes\022\255\001\n\tmi" +
- "n_bytes\030\004 \001(\004B\217\001\302H\213\001\n\210\001\n\020string.min_byte" +
- "s\032tuint(bytes(this).size()) < rules.min_" +
- "bytes ? \'value length must be at least %" +
- "s bytes\'.format([rules.min_bytes]) : \'\'R" +
- "\010minBytes\022\254\001\n\tmax_bytes\030\005 \001(\004B\216\001\302H\212\001\n\207\001\n" +
- "\020string.max_bytes\032suint(bytes(this).size" +
- "()) > rules.max_bytes ? \'value length mu" +
- "st be at most %s bytes\'.format([rules.ma" +
- "x_bytes]) : \'\'R\010maxBytes\022\226\001\n\007pattern\030\006 \001" +
- "(\tB|\302Hy\nw\n\016string.pattern\032e!this.matches" +
- "(rules.pattern) ? \'value does not match " +
- "regex pattern `%s`\'.format([rules.patter" +
- "n]) : \'\'R\007pattern\022\214\001\n\006prefix\030\007 \001(\tBt\302Hq\n" +
- "o\n\rstring.prefix\032^!this.startsWith(rules" +
- ".prefix) ? \'value does not have prefix `" +
- "%s`\'.format([rules.prefix]) : \'\'R\006prefix" +
- "\022\212\001\n\006suffix\030\010 \001(\tBr\302Ho\nm\n\rstring.suffix\032" +
- "\\!this.endsWith(rules.suffix) ? \'value d" +
- "oes not have suffix `%s`\'.format([rules." +
- "suffix]) : \'\'R\006suffix\022\232\001\n\010contains\030\t \001(\t" +
- "B~\302H{\ny\n\017string.contains\032f!this.contains" +
- "(rules.contains) ? \'value does not conta" +
- "in substring `%s`\'.format([rules.contain" +
- "s]) : \'\'R\010contains\022\245\001\n\014not_contains\030\027 \001(" +
- "\tB\201\001\302H~\n|\n\023string.not_contains\032ethis.con" +
- "tains(rules.not_contains) ? \'value conta" +
- "ins substring `%s`\'.format([rules.not_co" +
- "ntains]) : \'\'R\013notContains\022z\n\002in\030\n \003(\tBj" +
- "\302Hg\ne\n\tstring.in\032X!(this in dyn(rules)[\'" +
- "in\']) ? \'value must be in list %s\'.forma" +
- "t([dyn(rules)[\'in\']]) : \'\'R\002in\022~\n\006not_in" +
- "\030\013 \003(\tBg\302Hd\nb\n\rstring.not_in\032Qthis in ru" +
- "les.not_in ? \'value must not be in list " +
- "%s\'.format([rules.not_in]) : \'\'R\005notIn\022\346" +
- "\001\n\005email\030\014 \001(\010B\315\001\302H\311\001\na\n\014string.email\022#v" +
- "alue must be a valid email address\032,!rul" +
- "es.email || this == \'\' || this.isEmail()" +
- "\nd\n\022string.email_empty\0222value is empty, " +
- "which is not a valid email address\032\032!rul" +
- "es.email || this != \'\'H\000R\005email\022\361\001\n\010host" +
- "name\030\r \001(\010B\322\001\302H\316\001\ne\n\017string.hostname\022\036va" +
- "lue must be a valid hostname\0322!rules.hos" +
- "tname || this == \'\' || this.isHostname()" +
- "\ne\n\025string.hostname_empty\022-value is empt" +
- "y, which is not a valid hostname\032\035!rules" +
- ".hostname || this != \'\'H\000R\010hostname\022\313\001\n\002" +
- "ip\030\016 \001(\010B\270\001\302H\264\001\nU\n\tstring.ip\022 value must" +
- " be a valid IP address\032&!rules.ip || thi" +
- "s == \'\' || this.isIp()\n[\n\017string.ip_empt" +
- "y\022/value is empty, which is not a valid " +
- "IP address\032\027!rules.ip || this != \'\'H\000R\002i" +
- "p\022\334\001\n\004ipv4\030\017 \001(\010B\305\001\302H\301\001\n\\\n\013string.ipv4\022\"" +
- "value must be a valid IPv4 address\032)!rul" +
- "es.ipv4 || this == \'\' || this.isIp(4)\na\n" +
- "\021string.ipv4_empty\0221value is empty, whic" +
- "h is not a valid IPv4 address\032\031!rules.ip" +
- "v4 || this != \'\'H\000R\004ipv4\022\334\001\n\004ipv6\030\020 \001(\010B" +
- "\305\001\302H\301\001\n\\\n\013string.ipv6\022\"value must be a v" +
- "alid IPv6 address\032)!rules.ipv6 || this =" +
- "= \'\' || this.isIp(6)\na\n\021string.ipv6_empt" +
- "y\0221value is empty, which is not a valid " +
- "IPv6 address\032\031!rules.ipv6 || this != \'\'H" +
- "\000R\004ipv6\022\304\001\n\003uri\030\021 \001(\010B\257\001\302H\253\001\nQ\n\nstring.u" +
- "ri\022\031value must be a valid URI\032(!rules.ur" +
- "i || this == \'\' || this.isUri()\nV\n\020strin" +
- "g.uri_empty\022(value is empty, which is no" +
- "t a valid URI\032\030!rules.uri || this != \'\'H" +
- "\000R\003uri\022n\n\007uri_ref\030\022 \001(\010BS\302HP\nN\n\016string.u" +
- "ri_ref\022\031value must be a valid URI\032!!rule" +
- "s.uri_ref || this.isUriRef()H\000R\006uriRef\022\231" +
- "\002\n\007address\030\025 \001(\010B\374\001\302H\370\001\n\201\001\n\016string.addre" +
- "ss\022-value must be a valid hostname, or i" +
- "p address\032@!rules.address || this == \'\' " +
- "|| this.isHostname() || this.isIp()\nr\n\024s" +
- "tring.address_empty\022!rules.ipv4_with_prefixlen || this =" +
- "= \'\' || this.isIpPrefix(4)\n\222\001\n string.ip" +
- "v4_with_prefixlen_empty\022Dvalue is empty," +
- " which is not a valid IPv4 address with " +
- "prefix length\032(!rules.ipv4_with_prefixle" +
- "n || this != \'\'H\000R\021ipv4WithPrefixlen\022\342\002\n" +
- "\023ipv6_with_prefixlen\030\034 \001(\010B\257\002\302H\253\002\n\223\001\n\032st" +
- "ring.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, wh" +
- "ich is not a valid IPv6 address with pre" +
- "fix length\032(!rules.ipv6_with_prefixlen |" +
- "| this != \'\'H\000R\021ipv6WithPrefixlen\022\374\001\n\tip" +
- "_prefix\030\035 \001(\010B\334\001\302H\330\001\nl\n\020string.ip_prefix" +
- "\022\037value must be a valid IP prefix\0327!rule" +
- "s.ip_prefix || this == \'\' || this.isIpPr" +
- "efix(true)\nh\n\026string.ip_prefix_empty\022.va" +
- "lue is empty, which is not a valid IP pr" +
- "efix\032\036!rules.ip_prefix || this != \'\'H\000R\010" +
- "ipPrefix\022\217\002\n\013ipv4_prefix\030\036 \001(\010B\353\001\302H\347\001\nu\n" +
- "\022string.ipv4_prefix\022!value must be a val" +
- "id IPv4 prefix\032!rules.host_and_port || this == \'\' || t" +
- "his.isHostAndPort(true)\ny\n\032string.host_a" +
- "nd_port_empty\0227value is empty, which is " +
- "not a valid host and port pair\032\"!rules.h" +
- "ost_and_port || this != \'\'H\000R\013hostAndPor" +
- "t\022\270\005\n\020well_known_regex\030\030 \001(\0162\030.buf.valid" +
- "ate.KnownRegexB\361\004\302H\355\004\n\360\001\n#string.well_kn" +
- "own_regex.header_name\022&value must be a v" +
- "alid HTTP header name\032\240\001rules.well_known" +
- "_regex != 1 || this == \'\' || this.matche" +
- "s(!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 || th" +
- "is != \'\'\n\347\001\n$string.well_known_regex.hea" +
- "der_value\022\'value must be a valid HTTP he" +
- "ader value\032\225\001rules.well_known_regex != 2" +
- " || this.matches(!has(rules.strict) || r" +
- "ules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u0" +
- "01F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$" +
- "\')H\000R\016wellKnownRegex\022\026\n\006strict\030\031 \001(\010R\006st" +
- "rict\0225\n\007example\030\" \003(\tB\033\302H\030\n\026\n\016string.exa" +
- "mple\032\004trueR\007example*\t\010\350\007\020\200\200\200\200\002B\014\n\nwell_k" +
- "nown\"\243\021\n\nBytesRules\022m\n\005const\030\001 \001(\014BW\302HT\n" +
- "R\n\013bytes.const\032Cthis != rules.const ? \'v" +
- "alue must be %x\'.format([rules.const]) :" +
- " \'\'R\005const\022}\n\003len\030\r \001(\004Bk\302Hh\nf\n\tbytes.le" +
- "n\032Yuint(this.size()) != rules.len ? \'val" +
- "ue length must be %s bytes\'.format([rule" +
- "s.len]) : \'\'R\003len\022\230\001\n\007min_len\030\002 \001(\004B\177\302H|" +
- "\nz\n\rbytes.min_len\032iuint(this.size()) < r" +
- "ules.min_len ? \'value length must be at " +
- "least %s bytes\'.format([rules.min_len]) " +
- ": \'\'R\006minLen\022\220\001\n\007max_len\030\003 \001(\004Bw\302Ht\nr\n\rb" +
- "ytes.max_len\032auint(this.size()) > rules." +
- "max_len ? \'value must be at most %s byte" +
- "s\'.format([rules.max_len]) : \'\'R\006maxLen\022" +
- "\231\001\n\007pattern\030\004 \001(\tB\177\302H|\nz\n\rbytes.pattern\032" +
- "i!string(this).matches(rules.pattern) ? " +
- "\'value must match regex pattern `%s`\'.fo" +
- "rmat([rules.pattern]) : \'\'R\007pattern\022\211\001\n\006" +
- "prefix\030\005 \001(\014Bq\302Hn\nl\n\014bytes.prefix\032\\!this" +
- ".startsWith(rules.prefix) ? \'value does " +
- "not have prefix %x\'.format([rules.prefix" +
- "]) : \'\'R\006prefix\022\207\001\n\006suffix\030\006 \001(\014Bo\302Hl\nj\n" +
- "\014bytes.suffix\032Z!this.endsWith(rules.suff" +
- "ix) ? \'value does not have suffix %x\'.fo" +
- "rmat([rules.suffix]) : \'\'R\006suffix\022\215\001\n\010co" +
- "ntains\030\007 \001(\014Bq\302Hn\nl\n\016bytes.contains\032Z!th" +
- "is.contains(rules.contains) ? \'value doe" +
- "s not contain %x\'.format([rules.contains" +
- "]) : \'\'R\010contains\022\233\001\n\002in\030\010 \003(\014B\212\001\302H\206\001\n\203\001" +
- "\n\010bytes.in\032wdyn(rules)[\'in\'].size() > 0 " +
- "&& !(this in dyn(rules)[\'in\']) ? \'value " +
- "must be in list %s\'.format([dyn(rules)[\'" +
- "in\']]) : \'\'R\002in\022}\n\006not_in\030\t \003(\014Bf\302Hc\na\n\014" +
- "bytes.not_in\032Qthis in rules.not_in ? \'va" +
- "lue must not be in list %s\'.format([rule" +
- "s.not_in]) : \'\'R\005notIn\022\357\001\n\002ip\030\n \001(\010B\334\001\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, whic" +
- "h is not a valid IP address\032\035!rules.ip |" +
- "| this.size() != 0H\000R\002ip\022\352\001\n\004ipv4\030\013 \001(\010B" +
- "\323\001\302H\317\001\ne\n\nbytes.ipv4\022\"value must be a va" +
- "lid IPv4 address\0323!rules.ipv4 || this.si" +
- "ze() == 0 || this.size() == 4\nf\n\020bytes.i" +
- "pv4_empty\0221value is empty, which is not " +
- "a valid IPv4 address\032\037!rules.ipv4 || thi" +
- "s.size() != 0H\000R\004ipv4\022\353\001\n\004ipv6\030\014 \001(\010B\324\001\302" +
- "H\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.ipv" +
- "6_empty\0221value is empty, which is not a " +
- "valid IPv6 address\032\037!rules.ipv6 || this." +
- "size() != 0H\000R\004ipv6\0224\n\007example\030\016 \003(\014B\032\302H" +
- "\027\n\025\n\rbytes.example\032\004trueR\007example*\t\010\350\007\020\200" +
- "\200\200\200\002B\014\n\nwell_known\"\327\003\n\tEnumRules\022o\n\005cons" +
- "t\030\001 \001(\005BY\302HV\nT\n\nenum.const\032Fthis != rule" +
- "s.const ? \'value must equal %s\'.format([" +
- "rules.const]) : \'\'R\005const\022!\n\014defined_onl" +
- "y\030\002 \001(\010R\013definedOnly\022x\n\002in\030\003 \003(\005Bh\302He\nc\n" +
- "\007enum.in\032X!(this in dyn(rules)[\'in\']) ? " +
- "\'value must be in list %s\'.format([dyn(r" +
- "ules)[\'in\']]) : \'\'R\002in\022|\n\006not_in\030\004 \003(\005Be" +
- "\302Hb\n`\n\013enum.not_in\032Qthis in rules.not_in" +
- " ? \'value must not be in list %s\'.format" +
- "([rules.not_in]) : \'\'R\005notIn\0223\n\007example\030" +
- "\005 \003(\005B\031\302H\026\n\024\n\014enum.example\032\004trueR\007exampl" +
- "e*\t\010\350\007\020\200\200\200\200\002\"\244\004\n\rRepeatedRules\022\250\001\n\tmin_i" +
- "tems\030\001 \001(\004B\212\001\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]) : \'\'R\010minItem" +
- "s\022\254\001\n\tmax_items\030\002 \001(\004B\216\001\302H\212\001\n\207\001\n\022repeate" +
- "d.max_items\032quint(this.size()) > rules.m" +
- "ax_items ? \'value must contain no more t" +
- "han %s item(s)\'.format([rules.max_items]" +
- ") : \'\'R\010maxItems\022x\n\006unique\030\003 \001(\010B`\302H]\n[\n" +
- "\017repeated.unique\022(repeated value must co" +
- "ntain unique items\032\036!rules.unique || thi" +
- "s.unique()R\006unique\0224\n\005items\030\004 \001(\0132\036.buf." +
- "validate.FieldConstraintsR\005items*\t\010\350\007\020\200\200" +
- "\200\200\002\"\270\003\n\010MapRules\022\231\001\n\tmin_pairs\030\001 \001(\004B|\302H" +
- "y\nw\n\rmap.min_pairs\032fuint(this.size()) < " +
- "rules.min_pairs ? \'map must be at least " +
- "%d entries\'.format([rules.min_pairs]) : " +
- "\'\'R\010minPairs\022\230\001\n\tmax_pairs\030\002 \001(\004B{\302Hx\nv\n" +
- "\rmap.max_pairs\032euint(this.size()) > rule" +
- "s.max_pairs ? \'map must be at most %d en" +
- "tries\'.format([rules.max_pairs]) : \'\'R\010m" +
- "axPairs\0222\n\004keys\030\004 \001(\0132\036.buf.validate.Fie" +
- "ldConstraintsR\004keys\0226\n\006values\030\005 \001(\0132\036.bu" +
- "f.validate.FieldConstraintsR\006values*\t\010\350\007" +
- "\020\200\200\200\200\002\"1\n\010AnyRules\022\016\n\002in\030\002 \003(\tR\002in\022\025\n\006no" +
- "t_in\030\003 \003(\tR\005notIn\"\242\027\n\rDurationRules\022\216\001\n\005" +
- "const\030\002 \001(\0132\031.google.protobuf.DurationB]" +
- "\302HZ\nX\n\016duration.const\032Fthis != rules.con" +
- "st ? \'value must equal %s\'.format([rules" +
- ".const]) : \'\'R\005const\022\254\001\n\002lt\030\003 \001(\0132\031.goog" +
- "le.protobuf.DurationB\177\302H|\nz\n\013duration.lt" +
- "\032k!has(rules.gte) && !has(rules.gt) && t" +
- "his >= rules.lt? \'value must be less tha" +
- "n %s\'.format([rules.lt]) : \'\'H\000R\002lt\022\277\001\n\003" +
- "lte\030\004 \001(\0132\031.google.protobuf.DurationB\217\001\302" +
- "H\213\001\n\210\001\n\014duration.lte\032x!has(rules.gte) &&" +
- " !has(rules.gt) && this > rules.lte? \'va" +
- "lue must be less than or equal to %s\'.fo" +
- "rmat([rules.lte]) : \'\'H\000R\003lte\022\305\007\n\002gt\030\005 \001" +
- "(\0132\031.google.protobuf.DurationB\227\007\302H\223\007\n}\n\013" +
- "duration.gt\032n!has(rules.lt) && !has(rule" +
- "s.lte) && this <= rules.gt? \'value must " +
- "be greater than %s\'.format([rules.gt]) :" +
- " \'\'\n\266\001\n\016duration.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\'.forma" +
- "t([rules.gt, rules.lt]) : \'\'\n\276\001\n\030duratio" +
- "n.gt_lt_exclusive\032\241\001has(rules.lt) && rul" +
- "es.lt < rules.gt && (rules.lt <= this &&" +
- " this <= rules.gt)? \'value must be great" +
- "er than %s or less than %s\'.format([rule" +
- "s.gt, rules.lt]) : \'\'\n\306\001\n\017duration.gt_lt" +
- "e\032\262\001has(rules.lte) && rules.lte >= rules" +
- ".gt && (this > rules.lte || this <= rule" +
- "s.gt)? \'value must be greater than %s an" +
- "d less than or equal to %s\'.format([rule" +
- "s.gt, rules.lte]) : \'\'\n\316\001\n\031duration.gt_l" +
- "te_exclusive\032\260\001has(rules.lte) && rules.l" +
- "te < rules.gt && (rules.lte < this && th" +
- "is <= rules.gt)? \'value must be greater " +
- "than %s or less than or equal to %s\'.for" +
- "mat([rules.gt, rules.lte]) : \'\'H\001R\002gt\022\222\010",
- "\n\003gte\030\006 \001(\0132\031.google.protobuf.DurationB\342" +
- "\007\302H\336\007\n\213\001\n\014duration.gte\032{!has(rules.lt) &" +
- "& !has(rules.lte) && this < rules.gte? \'" +
- "value must be greater than or equal to %" +
- "s\'.format([rules.gte]) : \'\'\n\305\001\n\017duration" +
- ".gte_lt\032\261\001has(rules.lt) && rules.lt >= r" +
- "ules.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\315\001\n\031duration" +
+ "er than %s\'.format([rules.gt]) : \'\'\n\267\001\n\017" +
+ "timestamp.gt_lt\032\243\001has(rules.lt) && rules" +
+ ".lt >= rules.gt && (this >= rules.lt || " +
+ "this <= rules.gt)? \'value must be greate" +
+ "r than %s and less than %s\'.format([rule" +
+ "s.gt, rules.lt]) : \'\'\n\277\001\n\031timestamp.gt_l" +
+ "t_exclusive\032\241\001has(rules.lt) && rules.lt " +
+ "< rules.gt && (rules.lt <= this && this " +
+ "<= rules.gt)? \'value must be greater tha" +
+ "n %s or less than %s\'.format([rules.gt, " +
+ "rules.lt]) : \'\'\n\307\001\n\020timestamp.gt_lte\032\262\001h" +
+ "as(rules.lte) && rules.lte >= rules.gt &" +
+ "& (this > rules.lte || this <= rules.gt)" +
+ "? \'value must be greater than %s and les" +
+ "s than or equal to %s\'.format([rules.gt," +
+ " rules.lte]) : \'\'\n\317\001\n\032timestamp.gt_lte_e" +
+ "xclusive\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]) : \'\'H\001R\002gt\022\230\010\n\003gt" +
+ "e\030\006 \001(\0132\032.google.protobuf.TimestampB\347\007\302H" +
+ "\343\007\n\214\001\n\rtimestamp.gte\032{!has(rules.lt) && " +
+ "!has(rules.lte) && this < rules.gte? \'va" +
+ "lue 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 >= ru" +
+ "les.gte && (this >= rules.lt || this < r" +
+ "ules.gte)? \'value must be greater than o" +
+ "r 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) && rul" +
"es.lt < rules.gte && (rules.lt <= this &" +
"& this < rules.gte)? \'value must be grea" +
"ter than or equal to %s or less than %s\'" +
- ".format([rules.gte, rules.lt]) : \'\'\n\325\001\n\020" +
- "duration.gte_lte\032\300\001has(rules.lte) && rul" +
- "es.lte >= rules.gte && (this > rules.lte" +
- " || this < rules.gte)? \'value must be gr" +
- "eater than or equal to %s and less than " +
- "or equal to %s\'.format([rules.gte, rules" +
- ".lte]) : \'\'\n\335\001\n\032duration.gte_lte_exclusi" +
- "ve\032\276\001has(rules.lte) && rules.lte < rules" +
- ".gte && (rules.lte < this && this < rule" +
- "s.gte)? \'value must be greater than or e" +
- "qual to %s or less than or equal to %s\'." +
- "format([rules.gte, rules.lte]) : \'\'H\001R\003g" +
- "te\022\227\001\n\002in\030\007 \003(\0132\031.google.protobuf.Durati" +
- "onBl\302Hi\ng\n\013duration.in\032X!(this in dyn(ru" +
- "les)[\'in\']) ? \'value must be in list %s\'" +
- ".format([dyn(rules)[\'in\']]) : \'\'R\002in\022\233\001\n" +
- "\006not_in\030\010 \003(\0132\031.google.protobuf.Duration" +
- "Bi\302Hf\nd\n\017duration.not_in\032Qthis in rules." +
- "not_in ? \'value must not be in list %s\'." +
- "format([rules.not_in]) : \'\'R\005notIn\022R\n\007ex" +
- "ample\030\t \003(\0132\031.google.protobuf.DurationB\035" +
- "\302H\032\n\030\n\020duration.example\032\004trueR\007example*\t" +
- "\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_than\"\260" +
- "\030\n\016TimestampRules\022\220\001\n\005const\030\002 \001(\0132\032.goog" +
- "le.protobuf.TimestampB^\302H[\nY\n\017timestamp." +
- "const\032Fthis != rules.const ? \'value must" +
- " equal %s\'.format([rules.const]) : \'\'R\005c" +
- "onst\022\257\001\n\002lt\030\003 \001(\0132\032.google.protobuf.Time" +
- "stampB\200\001\302H}\n{\n\014timestamp.lt\032k!has(rules." +
- "gte) && !has(rules.gt) && this >= rules." +
- "lt? \'value must be less than %s\'.format(" +
- "[rules.lt]) : \'\'H\000R\002lt\022\301\001\n\003lte\030\004 \001(\0132\032.g" +
- "oogle.protobuf.TimestampB\220\001\302H\214\001\n\211\001\n\rtime" +
- "stamp.lte\032x!has(rules.gte) && !has(rules" +
- ".gt) && this > rules.lte? \'value must be" +
- " less than or equal to %s\'.format([rules" +
- ".lte]) : \'\'H\000R\003lte\022s\n\006lt_now\030\007 \001(\010BZ\302HW\n" +
- "U\n\020timestamp.lt_now\032A(rules.lt_now && th" +
- "is > now) ? \'value must be less than now" +
- "\' : \'\'H\000R\005ltNow\022\313\007\n\002gt\030\005 \001(\0132\032.google.pr" +
- "otobuf.TimestampB\234\007\302H\230\007\n~\n\014timestamp.gt\032" +
- "n!has(rules.lt) && !has(rules.lte) && th" +
- "is <= rules.gt? \'value must be greater t" +
- "han %s\'.format([rules.gt]) : \'\'\n\267\001\n\017time" +
- "stamp.gt_lt\032\243\001has(rules.lt) && rules.lt " +
- ">= rules.gt && (this >= rules.lt || this" +
- " <= rules.gt)? \'value must be greater th" +
- "an %s and less than %s\'.format([rules.gt" +
- ", rules.lt]) : \'\'\n\277\001\n\031timestamp.gt_lt_ex" +
- "clusive\032\241\001has(rules.lt) && rules.lt < ru" +
- "les.gt && (rules.lt <= this && this <= r" +
- "ules.gt)? \'value must be greater than %s" +
- " or less than %s\'.format([rules.gt, rule" +
- "s.lt]) : \'\'\n\307\001\n\020timestamp.gt_lte\032\262\001has(r" +
- "ules.lte) && rules.lte >= rules.gt && (t" +
- "his > rules.lte || this <= rules.gt)? \'v" +
- "alue must be greater than %s and less th" +
- "an or equal to %s\'.format([rules.gt, rul" +
- "es.lte]) : \'\'\n\317\001\n\032timestamp.gt_lte_exclu" +
- "sive\032\260\001has(rules.lte) && rules.lte < rul" +
- "es.gt && (rules.lte < this && this <= ru" +
- "les.gt)? \'value must be greater than %s " +
- "or less than or equal to %s\'.format([rul" +
- "es.gt, rules.lte]) : \'\'H\001R\002gt\022\230\010\n\003gte\030\006 " +
- "\001(\0132\032.google.protobuf.TimestampB\347\007\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\'.for" +
- "mat([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 eq" +
- "ual to %s and less than %s\'.format([rule" +
- "s.gte, rules.lt]) : \'\'\n\316\001\n\032timestamp.gte" +
- "_lt_exclusive\032\257\001has(rules.lt) && rules.l" +
- "t < rules.gte && (rules.lt <= this && th" +
- "is < rules.gte)? \'value must be greater " +
- "than or equal to %s or less than %s\'.for" +
- "mat([rules.gte, rules.lt]) : \'\'\n\326\001\n\021time" +
- "stamp.gte_lte\032\300\001has(rules.lte) && rules." +
- "lte >= rules.gte && (this > rules.lte ||" +
- " this < rules.gte)? \'value must be great" +
- "er than or equal to %s and less than or " +
- "equal to %s\'.format([rules.gte, rules.lt" +
- "e]) : \'\'\n\336\001\n\033timestamp.gte_lte_exclusive" +
- "\032\276\001has(rules.lte) && rules.lte < rules.g" +
- "te && (rules.lte < this && this < rules." +
- "gte)? \'value must be greater than or equ" +
- "al to %s or less than or equal to %s\'.fo" +
- "rmat([rules.gte, rules.lte]) : \'\'H\001R\003gte" +
- "\022v\n\006gt_now\030\010 \001(\010B]\302HZ\nX\n\020timestamp.gt_no" +
- "w\032D(rules.gt_now && this < now) ? \'value" +
- " must be greater than now\' : \'\'H\001R\005gtNow" +
- "\022\300\001\n\006within\030\t \001(\0132\031.google.protobuf.Dura" +
- "tionB\214\001\302H\210\001\n\205\001\n\020timestamp.within\032qthis <" +
- " now-rules.within || this > now+rules.wi" +
- "thin ? \'value must be within %s of now\'." +
- "format([rules.within]) : \'\'R\006within\022T\n\007e" +
- "xample\030\n \003(\0132\032.google.protobuf.Timestamp" +
- "B\036\302H\033\n\031\n\021timestamp.example\032\004trueR\007exampl" +
- "e*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_tha" +
- "n\"E\n\nViolations\0227\n\nviolations\030\001 \003(\0132\027.bu" +
- "f.validate.ViolationR\nviolations\"\342\001\n\tVio" +
- "lation\022-\n\005field\030\005 \001(\0132\027.buf.validate.Fie" +
- "ldPathR\005field\022+\n\004rule\030\006 \001(\0132\027.buf.valida" +
- "te.FieldPathR\004rule\022!\n\nfield_path\030\001 \001(\tB\002" +
- "\030\001R\tfieldPath\022#\n\rconstraint_id\030\002 \001(\tR\014co" +
- "nstraintId\022\030\n\007message\030\003 \001(\tR\007message\022\027\n\007" +
- "for_key\030\004 \001(\010R\006forKey\"G\n\tFieldPath\022:\n\010el" +
- "ements\030\001 \003(\0132\036.buf.validate.FieldPathEle" +
- "mentR\010elements\"\314\003\n\020FieldPathElement\022!\n\014f" +
- "ield_number\030\001 \001(\005R\013fieldNumber\022\035\n\nfield_" +
- "name\030\002 \001(\tR\tfieldName\022I\n\nfield_type\030\003 \001(" +
- "\0162*.google.protobuf.FieldDescriptorProto" +
- ".TypeR\tfieldType\022E\n\010key_type\030\004 \001(\0162*.goo" +
- "gle.protobuf.FieldDescriptorProto.TypeR\007" +
- "keyType\022I\n\nvalue_type\030\005 \001(\0162*.google.pro" +
- "tobuf.FieldDescriptorProto.TypeR\tvalueTy" +
- "pe\022\026\n\005index\030\006 \001(\004H\000R\005index\022\033\n\010bool_key\030\007" +
- " \001(\010H\000R\007boolKey\022\031\n\007int_key\030\010 \001(\003H\000R\006intK" +
- "ey\022\033\n\010uint_key\030\t \001(\004H\000R\007uintKey\022\037\n\nstrin" +
- "g_key\030\n \001(\tH\000R\tstringKeyB\013\n\tsubscript*\235\001" +
- "\n\006Ignore\022\026\n\022IGNORE_UNSPECIFIED\020\000\022\031\n\025IGNO" +
- "RE_IF_UNPOPULATED\020\001\022\033\n\027IGNORE_IF_DEFAULT" +
- "_VALUE\020\002\022\021\n\rIGNORE_ALWAYS\020\003\022\024\n\014IGNORE_EM" +
- "PTY\020\001\032\002\010\001\022\026\n\016IGNORE_DEFAULT\020\002\032\002\010\001\032\002\020\001*n\n" +
- "\nKnownRegex\022\033\n\027KNOWN_REGEX_UNSPECIFIED\020\000" +
- "\022 \n\034KNOWN_REGEX_HTTP_HEADER_NAME\020\001\022!\n\035KN" +
- "OWN_REGEX_HTTP_HEADER_VALUE\020\002:\\\n\007message" +
- "\022\037.google.protobuf.MessageOptions\030\207\t \001(\013" +
- "2 .buf.validate.MessageConstraintsR\007mess" +
- "age:T\n\005oneof\022\035.google.protobuf.OneofOpti" +
- "ons\030\207\t \001(\0132\036.buf.validate.OneofConstrain" +
- "tsR\005oneof:T\n\005field\022\035.google.protobuf.Fie" +
- "ldOptions\030\207\t \001(\0132\036.buf.validate.FieldCon" +
- "straintsR\005field:c\n\npredefined\022\035.google.p" +
- "rotobuf.FieldOptions\030\210\t \001(\0132#.buf.valida" +
- "te.PredefinedConstraintsR\npredefinedBn\n\022" +
- "build.buf.validateB\rValidateProtoP\001ZGbuf" +
- ".build/gen/go/bufbuild/protovalidate/pro" +
- "tocolbuffers/go/buf/validate"
+ ".format([rules.gte, rules.lt]) : \'\'\n\326\001\n\021" +
+ "timestamp.gte_lte\032\300\001has(rules.lte) && ru" +
+ "les.lte >= rules.gte && (this > rules.lt" +
+ "e || this < rules.gte)? \'value must be g" +
+ "reater than or equal to %s and less than" +
+ " or equal to %s\'.format([rules.gte, rule" +
+ "s.lte]) : \'\'\n\336\001\n\033timestamp.gte_lte_exclu" +
+ "sive\032\276\001has(rules.lte) && rules.lte < rul" +
+ "es.gte && (rules.lte < this && this < ru" +
+ "les.gte)? \'value must be greater than or" +
+ " equal to %s or less than or equal to %s" +
+ "\'.format([rules.gte, rules.lte]) : \'\'H\001R" +
+ "\003gte\022v\n\006gt_now\030\010 \001(\010B]\302HZ\nX\n\020timestamp.g" +
+ "t_now\032D(rules.gt_now && this < now) ? \'v" +
+ "alue must be greater than now\' : \'\'H\001R\005g" +
+ "tNow\022\300\001\n\006within\030\t \001(\0132\031.google.protobuf." +
+ "DurationB\214\001\302H\210\001\n\205\001\n\020timestamp.within\032qth" +
+ "is < now-rules.within || this > now+rule" +
+ "s.within ? \'value must be within %s of n" +
+ "ow\'.format([rules.within]) : \'\'R\006within\022" +
+ "T\n\007example\030\n \003(\0132\032.google.protobuf.Times" +
+ "tampB\036\302H\033\n\031\n\021timestamp.example\032\004trueR\007ex" +
+ "ample*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater" +
+ "_than\"E\n\nViolations\0227\n\nviolations\030\001 \003(\0132" +
+ "\027.buf.validate.ViolationR\nviolations\"\321\001\n" +
+ "\tViolation\022-\n\005field\030\005 \001(\0132\027.buf.validate" +
+ ".FieldPathR\005field\022+\n\004rule\030\006 \001(\0132\027.buf.va" +
+ "lidate.FieldPathR\004rule\022#\n\rconstraint_id\030" +
+ "\002 \001(\tR\014constraintId\022\030\n\007message\030\003 \001(\tR\007me" +
+ "ssage\022\027\n\007for_key\030\004 \001(\010R\006forKeyJ\004\010\001\020\002R\nfi" +
+ "eld_path\"G\n\tFieldPath\022:\n\010elements\030\001 \003(\0132" +
+ "\036.buf.validate.FieldPathElementR\010element" +
+ "s\"\314\003\n\020FieldPathElement\022!\n\014field_number\030\001" +
+ " \001(\005R\013fieldNumber\022\035\n\nfield_name\030\002 \001(\tR\tf" +
+ "ieldName\022I\n\nfield_type\030\003 \001(\0162*.google.pr" +
+ "otobuf.FieldDescriptorProto.TypeR\tfieldT" +
+ "ype\022E\n\010key_type\030\004 \001(\0162*.google.protobuf." +
+ "FieldDescriptorProto.TypeR\007keyType\022I\n\nva" +
+ "lue_type\030\005 \001(\0162*.google.protobuf.FieldDe" +
+ "scriptorProto.TypeR\tvalueType\022\026\n\005index\030\006" +
+ " \001(\004H\000R\005index\022\033\n\010bool_key\030\007 \001(\010H\000R\007boolK" +
+ "ey\022\031\n\007int_key\030\010 \001(\003H\000R\006intKey\022\033\n\010uint_ke" +
+ "y\030\t \001(\004H\000R\007uintKey\022\037\n\nstring_key\030\n \001(\tH\000" +
+ "R\tstringKeyB\013\n\tsubscript*\207\001\n\006Ignore\022\026\n\022I" +
+ "GNORE_UNSPECIFIED\020\000\022\031\n\025IGNORE_IF_UNPOPUL" +
+ "ATED\020\001\022\033\n\027IGNORE_IF_DEFAULT_VALUE\020\002\022\021\n\rI" +
+ "GNORE_ALWAYS\020\003*\032IGNORE_EMPTYIGNORE_DEFAU" +
+ "LT*n\n\nKnownRegex\022\033\n\027KNOWN_REGEX_UNSPECIF" +
+ "IED\020\000\022 \n\034KNOWN_REGEX_HTTP_HEADER_NAME\020\001\022" +
+ "!\n\035KNOWN_REGEX_HTTP_HEADER_VALUE\020\002:\\\n\007me" +
+ "ssage\022\037.google.protobuf.MessageOptions\030\207" +
+ "\t \001(\0132 .buf.validate.MessageConstraintsR" +
+ "\007message:T\n\005oneof\022\035.google.protobuf.Oneo" +
+ "fOptions\030\207\t \001(\0132\036.buf.validate.OneofCons" +
+ "traintsR\005oneof:T\n\005field\022\035.google.protobu" +
+ "f.FieldOptions\030\207\t \001(\0132\036.buf.validate.Fie" +
+ "ldConstraintsR\005field:c\n\npredefined\022\035.goo" +
+ "gle.protobuf.FieldOptions\030\210\t \001(\0132#.buf.v" +
+ "alidate.PredefinedConstraintsR\npredefine" +
+ "dBn\n\022build.buf.validateB\rValidateProtoP\001" +
+ "ZGbuf.build/gen/go/bufbuild/protovalidat" +
+ "e/protocolbuffers/go/buf/validate"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@@ -1652,7 +1650,7 @@ public static void registerAllExtensions(
internal_static_buf_validate_FieldConstraints_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_buf_validate_FieldConstraints_descriptor,
- new java.lang.String[] { "Cel", "Required", "Ignore", "Float", "Double", "Int32", "Int64", "Uint32", "Uint64", "Sint32", "Sint64", "Fixed32", "Fixed64", "Sfixed32", "Sfixed64", "Bool", "String", "Bytes", "Enum", "Repeated", "Map", "Any", "Duration", "Timestamp", "Skipped", "IgnoreEmpty", "Type", });
+ new java.lang.String[] { "Cel", "Required", "Ignore", "Float", "Double", "Int32", "Int64", "Uint32", "Uint64", "Sint32", "Sint64", "Fixed32", "Fixed64", "Sfixed32", "Sfixed64", "Bool", "String", "Bytes", "Enum", "Repeated", "Map", "Any", "Duration", "Timestamp", "Type", });
internal_static_buf_validate_PredefinedConstraints_descriptor =
getDescriptor().getMessageTypes().get(4);
internal_static_buf_validate_PredefinedConstraints_fieldAccessorTable = new
@@ -1796,7 +1794,7 @@ public static void registerAllExtensions(
internal_static_buf_validate_Violation_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_buf_validate_Violation_descriptor,
- new java.lang.String[] { "Field", "Rule", "FieldPath", "ConstraintId", "Message", "ForKey", });
+ new java.lang.String[] { "Field", "Rule", "ConstraintId", "Message", "ForKey", });
internal_static_buf_validate_FieldPath_descriptor =
getDescriptor().getMessageTypes().get(28);
internal_static_buf_validate_FieldPath_fieldAccessorTable = new
diff --git a/src/main/java/build/buf/validate/Violation.java b/src/main/java/build/buf/validate/Violation.java
index 07a9d730..6e97fabd 100644
--- a/src/main/java/build/buf/validate/Violation.java
+++ b/src/main/java/build/buf/validate/Violation.java
@@ -42,7 +42,6 @@ private Violation(com.google.protobuf.GeneratedMessage.Builder> builder) {
super(builder);
}
private Violation() {
- fieldPath_ = "";
constraintId_ = "";
message_ = "";
}
@@ -272,82 +271,6 @@ public build.buf.validate.FieldPathOrBuilder getRuleOrBuilder() {
return rule_ == null ? build.buf.validate.FieldPath.getDefaultInstance() : rule_;
}
- public static final int FIELD_PATH_FIELD_NUMBER = 1;
- @SuppressWarnings("serial")
- private volatile java.lang.Object fieldPath_ = "";
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return Whether the fieldPath field is set.
- */
- @java.lang.Override
- @java.lang.Deprecated public boolean hasFieldPath() {
- return ((bitField0_ & 0x00000004) != 0);
- }
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return The fieldPath.
- */
- @java.lang.Override
- @java.lang.Deprecated public java.lang.String getFieldPath() {
- java.lang.Object ref = fieldPath_;
- if (ref instanceof java.lang.String) {
- return (java.lang.String) ref;
- } else {
- com.google.protobuf.ByteString bs =
- (com.google.protobuf.ByteString) ref;
- java.lang.String s = bs.toStringUtf8();
- if (bs.isValidUtf8()) {
- fieldPath_ = s;
- }
- return s;
- }
- }
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return The bytes for fieldPath.
- */
- @java.lang.Override
- @java.lang.Deprecated public com.google.protobuf.ByteString
- getFieldPathBytes() {
- java.lang.Object ref = fieldPath_;
- if (ref instanceof java.lang.String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- fieldPath_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
-
public static final int CONSTRAINT_ID_FIELD_NUMBER = 2;
@SuppressWarnings("serial")
private volatile java.lang.Object constraintId_ = "";
@@ -362,7 +285,7 @@ public build.buf.validate.FieldPathOrBuilder getRuleOrBuilder() {
*/
@java.lang.Override
public boolean hasConstraintId() {
- return ((bitField0_ & 0x00000008) != 0);
+ return ((bitField0_ & 0x00000004) != 0);
}
/**
*
@@ -426,7 +349,7 @@ public java.lang.String getConstraintId() {
*/
@java.lang.Override
public boolean hasMessage() {
- return ((bitField0_ & 0x00000010) != 0);
+ return ((bitField0_ & 0x00000008) != 0);
}
/**
*
@@ -488,7 +411,7 @@ public java.lang.String getMessage() {
*/
@java.lang.Override
public boolean hasForKey() {
- return ((bitField0_ & 0x00000020) != 0);
+ return ((bitField0_ & 0x00000010) != 0);
}
/**
*
@@ -518,15 +441,12 @@ public final boolean isInitialized() {
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (((bitField0_ & 0x00000004) != 0)) {
- com.google.protobuf.GeneratedMessage.writeString(output, 1, fieldPath_);
- }
- if (((bitField0_ & 0x00000008) != 0)) {
com.google.protobuf.GeneratedMessage.writeString(output, 2, constraintId_);
}
- if (((bitField0_ & 0x00000010) != 0)) {
+ if (((bitField0_ & 0x00000008) != 0)) {
com.google.protobuf.GeneratedMessage.writeString(output, 3, message_);
}
- if (((bitField0_ & 0x00000020) != 0)) {
+ if (((bitField0_ & 0x00000010) != 0)) {
output.writeBool(4, forKey_);
}
if (((bitField0_ & 0x00000001) != 0)) {
@@ -545,15 +465,12 @@ public int getSerializedSize() {
size = 0;
if (((bitField0_ & 0x00000004) != 0)) {
- size += com.google.protobuf.GeneratedMessage.computeStringSize(1, fieldPath_);
- }
- if (((bitField0_ & 0x00000008) != 0)) {
size += com.google.protobuf.GeneratedMessage.computeStringSize(2, constraintId_);
}
- if (((bitField0_ & 0x00000010) != 0)) {
+ if (((bitField0_ & 0x00000008) != 0)) {
size += com.google.protobuf.GeneratedMessage.computeStringSize(3, message_);
}
- if (((bitField0_ & 0x00000020) != 0)) {
+ if (((bitField0_ & 0x00000010) != 0)) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(4, forKey_);
}
@@ -590,11 +507,6 @@ public boolean equals(final java.lang.Object obj) {
if (!getRule()
.equals(other.getRule())) return false;
}
- if (hasFieldPath() != other.hasFieldPath()) return false;
- if (hasFieldPath()) {
- if (!getFieldPath()
- .equals(other.getFieldPath())) return false;
- }
if (hasConstraintId() != other.hasConstraintId()) return false;
if (hasConstraintId()) {
if (!getConstraintId()
@@ -629,10 +541,6 @@ public int hashCode() {
hash = (37 * hash) + RULE_FIELD_NUMBER;
hash = (53 * hash) + getRule().hashCode();
}
- if (hasFieldPath()) {
- hash = (37 * hash) + FIELD_PATH_FIELD_NUMBER;
- hash = (53 * hash) + getFieldPath().hashCode();
- }
if (hasConstraintId()) {
hash = (37 * hash) + CONSTRAINT_ID_FIELD_NUMBER;
hash = (53 * hash) + getConstraintId().hashCode();
@@ -809,7 +717,6 @@ public Builder clear() {
ruleBuilder_.dispose();
ruleBuilder_ = null;
}
- fieldPath_ = "";
constraintId_ = "";
message_ = "";
forKey_ = false;
@@ -860,20 +767,16 @@ private void buildPartial0(build.buf.validate.Violation result) {
to_bitField0_ |= 0x00000002;
}
if (((from_bitField0_ & 0x00000004) != 0)) {
- result.fieldPath_ = fieldPath_;
+ result.constraintId_ = constraintId_;
to_bitField0_ |= 0x00000004;
}
if (((from_bitField0_ & 0x00000008) != 0)) {
- result.constraintId_ = constraintId_;
+ result.message_ = message_;
to_bitField0_ |= 0x00000008;
}
if (((from_bitField0_ & 0x00000010) != 0)) {
- result.message_ = message_;
- to_bitField0_ |= 0x00000010;
- }
- if (((from_bitField0_ & 0x00000020) != 0)) {
result.forKey_ = forKey_;
- to_bitField0_ |= 0x00000020;
+ to_bitField0_ |= 0x00000010;
}
result.bitField0_ |= to_bitField0_;
}
@@ -896,19 +799,14 @@ public Builder mergeFrom(build.buf.validate.Violation other) {
if (other.hasRule()) {
mergeRule(other.getRule());
}
- if (other.hasFieldPath()) {
- fieldPath_ = other.fieldPath_;
- bitField0_ |= 0x00000004;
- onChanged();
- }
if (other.hasConstraintId()) {
constraintId_ = other.constraintId_;
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000004;
onChanged();
}
if (other.hasMessage()) {
message_ = other.message_;
- bitField0_ |= 0x00000010;
+ bitField0_ |= 0x00000008;
onChanged();
}
if (other.hasForKey()) {
@@ -940,24 +838,19 @@ public Builder mergeFrom(
case 0:
done = true;
break;
- case 10: {
- fieldPath_ = input.readBytes();
- bitField0_ |= 0x00000004;
- break;
- } // case 10
case 18: {
constraintId_ = input.readBytes();
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000004;
break;
} // case 18
case 26: {
message_ = input.readBytes();
- bitField0_ |= 0x00000010;
+ bitField0_ |= 0x00000008;
break;
} // case 26
case 32: {
forKey_ = input.readBool();
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000010;
break;
} // case 32
case 42: {
@@ -1710,140 +1603,6 @@ public build.buf.validate.FieldPathOrBuilder getRuleOrBuilder() {
return ruleBuilder_;
}
- private java.lang.Object fieldPath_ = "";
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return Whether the fieldPath field is set.
- */
- @java.lang.Deprecated public boolean hasFieldPath() {
- return ((bitField0_ & 0x00000004) != 0);
- }
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return The fieldPath.
- */
- @java.lang.Deprecated public java.lang.String getFieldPath() {
- java.lang.Object ref = fieldPath_;
- if (!(ref instanceof java.lang.String)) {
- com.google.protobuf.ByteString bs =
- (com.google.protobuf.ByteString) ref;
- java.lang.String s = bs.toStringUtf8();
- if (bs.isValidUtf8()) {
- fieldPath_ = s;
- }
- return s;
- } else {
- return (java.lang.String) ref;
- }
- }
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return The bytes for fieldPath.
- */
- @java.lang.Deprecated public com.google.protobuf.ByteString
- getFieldPathBytes() {
- java.lang.Object ref = fieldPath_;
- if (ref instanceof String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- fieldPath_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @param value The fieldPath to set.
- * @return This builder for chaining.
- */
- @java.lang.Deprecated public Builder setFieldPath(
- java.lang.String value) {
- if (value == null) { throw new NullPointerException(); }
- fieldPath_ = value;
- bitField0_ |= 0x00000004;
- onChanged();
- return this;
- }
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return This builder for chaining.
- */
- @java.lang.Deprecated public Builder clearFieldPath() {
- fieldPath_ = getDefaultInstance().getFieldPath();
- bitField0_ = (bitField0_ & ~0x00000004);
- onChanged();
- return this;
- }
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @param value The bytes for fieldPath to set.
- * @return This builder for chaining.
- */
- @java.lang.Deprecated public Builder setFieldPathBytes(
- com.google.protobuf.ByteString value) {
- if (value == null) { throw new NullPointerException(); }
- fieldPath_ = value;
- bitField0_ |= 0x00000004;
- onChanged();
- return this;
- }
-
private java.lang.Object constraintId_ = "";
/**
*
@@ -1855,7 +1614,7 @@ public build.buf.validate.FieldPathOrBuilder getRuleOrBuilder() {
* @return Whether the constraintId field is set.
*/
public boolean hasConstraintId() {
- return ((bitField0_ & 0x00000008) != 0);
+ return ((bitField0_ & 0x00000004) != 0);
}
/**
*
@@ -1916,7 +1675,7 @@ public Builder setConstraintId(
java.lang.String value) {
if (value == null) { throw new NullPointerException(); }
constraintId_ = value;
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000004;
onChanged();
return this;
}
@@ -1931,7 +1690,7 @@ public Builder setConstraintId(
*/
public Builder clearConstraintId() {
constraintId_ = getDefaultInstance().getConstraintId();
- bitField0_ = (bitField0_ & ~0x00000008);
+ bitField0_ = (bitField0_ & ~0x00000004);
onChanged();
return this;
}
@@ -1949,7 +1708,7 @@ public Builder setConstraintIdBytes(
com.google.protobuf.ByteString value) {
if (value == null) { throw new NullPointerException(); }
constraintId_ = value;
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000004;
onChanged();
return this;
}
@@ -1965,7 +1724,7 @@ public Builder setConstraintIdBytes(
* @return Whether the message field is set.
*/
public boolean hasMessage() {
- return ((bitField0_ & 0x00000010) != 0);
+ return ((bitField0_ & 0x00000008) != 0);
}
/**
*
@@ -2026,7 +1785,7 @@ public Builder setMessage(
java.lang.String value) {
if (value == null) { throw new NullPointerException(); }
message_ = value;
- bitField0_ |= 0x00000010;
+ bitField0_ |= 0x00000008;
onChanged();
return this;
}
@@ -2041,7 +1800,7 @@ public Builder setMessage(
*/
public Builder clearMessage() {
message_ = getDefaultInstance().getMessage();
- bitField0_ = (bitField0_ & ~0x00000010);
+ bitField0_ = (bitField0_ & ~0x00000008);
onChanged();
return this;
}
@@ -2059,7 +1818,7 @@ public Builder setMessageBytes(
com.google.protobuf.ByteString value) {
if (value == null) { throw new NullPointerException(); }
message_ = value;
- bitField0_ |= 0x00000010;
+ bitField0_ |= 0x00000008;
onChanged();
return this;
}
@@ -2075,7 +1834,7 @@ public Builder setMessageBytes(
*/
@java.lang.Override
public boolean hasForKey() {
- return ((bitField0_ & 0x00000020) != 0);
+ return ((bitField0_ & 0x00000010) != 0);
}
/**
*
@@ -2101,7 +1860,7 @@ public boolean getForKey() {
public Builder setForKey(boolean value) {
forKey_ = value;
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -2114,7 +1873,7 @@ public Builder setForKey(boolean value) {
* @return This builder for chaining.
*/
public Builder clearForKey() {
- bitField0_ = (bitField0_ & ~0x00000020);
+ bitField0_ = (bitField0_ & ~0x00000010);
forKey_ = false;
onChanged();
return this;
diff --git a/src/main/java/build/buf/validate/ViolationOrBuilder.java b/src/main/java/build/buf/validate/ViolationOrBuilder.java
index 649fb85d..7685e5f3 100644
--- a/src/main/java/build/buf/validate/ViolationOrBuilder.java
+++ b/src/main/java/build/buf/validate/ViolationOrBuilder.java
@@ -198,50 +198,6 @@ public interface ViolationOrBuilder extends
*/
build.buf.validate.FieldPathOrBuilder getRuleOrBuilder();
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return Whether the fieldPath field is set.
- */
- @java.lang.Deprecated boolean hasFieldPath();
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return The fieldPath.
- */
- @java.lang.Deprecated java.lang.String getFieldPath();
- /**
- *
- * `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- * This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- *
- * Deprecated: use the `field` instead.
- *
- *
- * optional string field_path = 1 [json_name = "fieldPath", deprecated = true];
- * @deprecated buf.validate.Violation.field_path is deprecated.
- * See buf/validate/validate.proto;l=4827
- * @return The bytes for fieldPath.
- */
- @java.lang.Deprecated com.google.protobuf.ByteString
- getFieldPathBytes();
-
/**
*
* `constraint_id` is the unique identifier of the `Constraint` that was not fulfilled.
diff --git a/src/main/resources/buf/validate/validate.proto b/src/main/resources/buf/validate/validate.proto
index f24d8dff..e021c276 100644
--- a/src/main/resources/buf/validate/validate.proto
+++ b/src/main/resources/buf/validate/validate.proto
@@ -241,11 +241,6 @@ message FieldConstraints {
DurationRules duration = 21;
TimestampRules timestamp = 22;
}
-
- // DEPRECATED: use ignore=IGNORE_ALWAYS instead. TODO: remove this field pre-v1.
- optional bool skipped = 24 [deprecated = true];
- // DEPRECATED: use ignore=IGNORE_IF_UNPOPULATED instead. TODO: remove this field pre-v1.
- optional bool ignore_empty = 26 [deprecated = true];
}
// PredefinedConstraints are custom constraints that can be re-used with
@@ -266,13 +261,17 @@ message PredefinedConstraints {
// }
// ```
repeated Constraint cel = 1;
+
+ reserved 24, 26;
+ reserved
+ "skipped"
+ "ignore_empty"
+;
}
// Specifies how FieldConstraints.ignore behaves. See the documentation for
// FieldConstraints.required for definitions of "populated" and "nullable".
enum Ignore {
- // buf:lint:ignore ENUM_NO_ALLOW_ALIAS // allowance for deprecations. TODO: remove pre-v1.
- option allow_alias = true;
// Validation is only skipped if it's an unpopulated nullable fields.
//
// ```proto
@@ -305,8 +304,7 @@ enum Ignore {
IGNORE_UNSPECIFIED = 0;
// Validation is skipped if the field is unpopulated. This rule is redundant
- // if the field is already nullable. This value is equivalent behavior to the
- // deprecated ignore_empty rule.
+ // if the field is already nullable.
//
// ```proto
// syntax="proto3
@@ -416,10 +414,10 @@ enum Ignore {
// ```
IGNORE_ALWAYS = 3;
- // Deprecated: Use IGNORE_IF_UNPOPULATED instead. TODO: Remove this value pre-v1.
- IGNORE_EMPTY = 1 [deprecated = true];
- // Deprecated: Use IGNORE_IF_DEFAULT_VALUE. TODO: Remove this value pre-v1.
- IGNORE_DEFAULT = 2 [deprecated = true];
+ reserved
+ "IGNORE_EMPTY"
+ "IGNORE_DEFAULT"
+;
}
// FloatRules describes the constraints applied to `float` values. These
@@ -4821,12 +4819,6 @@ message Violation {
// ```
optional FieldPath rule = 6;
- // `field_path` is a human-readable identifier that points to the specific field that failed the validation.
- // This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.
- //
- // Deprecated: use the `field` instead.
- optional string field_path = 1 [deprecated = true];
-
// `constraint_id` is the unique identifier of the `Constraint` that was not fulfilled.
// This is the same `id` that was specified in the `Constraint` message, allowing easy tracing of which rule was violated.
optional string constraint_id = 2;
@@ -4837,6 +4829,9 @@ message Violation {
// `for_key` indicates whether the violation was caused by a map key, rather than a value.
optional bool for_key = 4;
+
+ reserved 1;
+ reserved "field_path";
}
// `FieldPath` provides a path to a nested protobuf field.
diff --git a/src/test/java/build/buf/protovalidate/ValidatorDifferentJavaPackagesTest.java b/src/test/java/build/buf/protovalidate/ValidatorDifferentJavaPackagesTest.java
index e8f05110..17940266 100644
--- a/src/test/java/build/buf/protovalidate/ValidatorDifferentJavaPackagesTest.java
+++ b/src/test/java/build/buf/protovalidate/ValidatorDifferentJavaPackagesTest.java
@@ -100,7 +100,6 @@ public void testValidationFieldConstraints() throws Exception {
StringRules.getDescriptor()
.findFieldByNumber(StringRules.PATTERN_FIELD_NUMBER))))
.setConstraintId("string.pattern")
- .setFieldPath("regex_string_field")
.setMessage("value does not match regex pattern `^[a-z0-9]{1,9}$`")
.build();
expectViolation(invalidMsgImports, expectedViolation);
@@ -136,7 +135,6 @@ public void testValidationOneofConstraints()
.setField(
FieldPath.newBuilder()
.addElements(FieldPathElement.newBuilder().setFieldName("contact_info")))
- .setFieldPath("contact_info")
.setConstraintId("required")
.setMessage("exactly one field is required in oneof")
.build();
diff --git a/src/test/java/build/buf/protovalidate/ValidatorDynamicMessageTest.java b/src/test/java/build/buf/protovalidate/ValidatorDynamicMessageTest.java
index a358b6d6..685f7f75 100644
--- a/src/test/java/build/buf/protovalidate/ValidatorDynamicMessageTest.java
+++ b/src/test/java/build/buf/protovalidate/ValidatorDynamicMessageTest.java
@@ -76,7 +76,6 @@ public void testFieldConstraintDynamicMessage() throws Exception {
StringRules.getDescriptor()
.findFieldByNumber(StringRules.PATTERN_FIELD_NUMBER))))
.setConstraintId("string.pattern")
- .setFieldPath("regex_string_field")
.setMessage("value does not match regex pattern `^[a-z0-9]{1,9}$`")
.build();
ValidationResult result = new Validator().validate(messageBuilder.build());
@@ -95,7 +94,6 @@ public void testOneofConstraintDynamicMessage() throws Exception {
.setField(
FieldPath.newBuilder()
.addElements(FieldPathElement.newBuilder().setFieldName("contact_info")))
- .setFieldPath("contact_info")
.setConstraintId("required")
.setMessage("exactly one field is required in oneof")
.build();
@@ -154,7 +152,6 @@ public void testRequiredFieldConstraintDynamicMessageInvalid() throws Exception
StringRules.getDescriptor()
.findFieldByNumber(StringRules.PATTERN_FIELD_NUMBER))))
.setConstraintId("string.pattern")
- .setFieldPath("regex_string_field")
.setMessage("value does not match regex pattern `^[a-z0-9]{1,9}$`")
.build();
assertThat(new Validator().validate(messageBuilder.build()).toProto().getViolationsList())
@@ -198,7 +195,6 @@ public void testPredefinedFieldConstraintDynamicMessageInvalid() throws Exceptio
.addElements(
FieldPathUtils.fieldPathElement(PredefinedProto.isIdent.getDescriptor())))
.setConstraintId("string.is_ident")
- .setFieldPath("ident_field")
.setMessage("invalid identifier")
.build();
ExtensionRegistry registry = ExtensionRegistry.newInstance();