diff --git a/Makefile b/Makefile index 503be9ae..7332dca0 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ GO ?= go ARGS ?= --strict_message JAVA_COMPILE_OPTIONS = --enable-preview --release $(JAVA_VERSION) JAVA_OPTIONS = --enable-preview -PROTOVALIDATE_VERSION ?= v0.4.0 +PROTOVALIDATE_VERSION ?= v0.4.2 JAVA_MAIN_CLASS = build.buf.protovalidate JAVA_SOURCES = $(wildcard src/main/java/**/**/**/*.java, src/main/java/**/**/*.java) JAVA_CLASSES = $(patsubst src/main/java/%.java, target/classes/%.class, $(JAVA_SOURCES)) diff --git a/src/main/java/build/buf/validate/ValidateProto.java b/src/main/java/build/buf/validate/ValidateProto.java index 96bae378..c2333a3a 100644 --- a/src/main/java/build/buf/validate/ValidateProto.java +++ b/src/main/java/build/buf/validate/ValidateProto.java @@ -235,1165 +235,1176 @@ public static void registerAllExtensions( "H\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.TimestampRulesH\000R\tt" + - "imestampB\006\n\004type\"\313\025\n\nFloatRules\022u\n\005const" + + "imestampB\006\n\004type\"\242\027\n\nFloatRules\022u\n\005const" + "\030\001 \001(\002BZ\302HW\nU\n\013float.const\032Fthis != rule" + "s.const ? \'value must equal %s\'.format([" + + "rules.const]) : \'\'H\002R\005const\210\001\001\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() || t" + + "his >= rules.lt)? \'value must be less th" + + "an %s\'.format([rules.lt]) : \'\'H\000R\002lt\022\264\001\n" + + "\003lte\030\003 \001(\002B\237\001\302H\233\001\n\230\001\n\tfloat.lte\032\212\001!has(r" + + "ules.gte) && !has(rules.gt) && (this.isN" + + "an() || this > rules.lte)? \'value must b" + + "e less than or equal to %s\'.format([rule" + + "s.lte]) : \'\'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(ru" + + "les.lte) && (this.isNan() || this <= rul" + + "es.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 greate" + + "r than %s and less than %s\'.format([rule" + + "s.gt, rules.lt]) : \'\'\n\315\001\n\025float.gt_lt_ex" + + "clusive\032\263\001has(rules.lt) && rules.lt < ru" + + "les.gt && (this.isNan() || (rules.lt <= " + + "this && this <= rules.gt))? \'value must " + + "be greater than %s or less than %s\'.form" + + "at([rules.gt, rules.lt]) : \'\'\n\323\001\n\014float." + + "gt_lte\032\302\001has(rules.lte) && rules.lte >= " + + "rules.gt && (this.isNan() || 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\335\001\n\026float.gt_lte_exclusive\032\302\001has(rul" + + "es.lte) && rules.lte < rules.gt && (this" + + ".isNan() || (rules.lte < this && this <=" + + " rules.gt))? \'value must be greater than" + + " %s or less than or equal to %s\'.format(" + + "[rules.gt, rules.lte]) : \'\'H\001R\002gt\022\277\010\n\003gt" + + "e\030\005 \001(\002B\252\010\302H\246\010\n\233\001\n\tfloat.gte\032\215\001!has(rule" + + "s.lt) && !has(rules.lte) && (this.isNan(" + + ") || this < rules.gte)? \'value must be g" + + "reater than or equal to %s\'.format([rule" + + "s.gte]) : \'\'\n\322\001\n\014float.gte_lt\032\301\001has(rule" + + "s.lt) && rules.lt >= rules.gte && (this." + + "isNan() || 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\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 greater than or equal to %s or " + + "less than %s\'.format([rules.gte, rules.l" + + "t]) : \'\'\n\342\001\n\rfloat.gte_lte\032\320\001has(rules.l" + + "te) && rules.lte >= rules.gte && (this.i" + + "sNan() || 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\354\001" + + "\n\027float.gte_lte_exclusive\032\320\001has(rules.lt" + + "e) && rules.lte < rules.gte && (this.isN" + + "an() || (rules.lte < this && this < rule" + + "s.gte))? \'value must be greater than or " + + "equal to %s or less than or equal to %s\'" + + ".format([rules.gte, rules.lte]) : \'\'H\001R\003" + + "gte\022y\n\002in\030\006 \003(\002Bi\302Hf\nd\n\010float.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(\002Bf\302Hc\na\n\014float.not" + + "_in\032Qthis in rules.not_in ? \'value must " + + "not be in list %s\'.format([rules.not_in]" + + ") : \'\'R\005notIn\022g\n\006finite\030\010 \001(\010BO\302HL\nJ\n\014fl" + + "oat.finite\032:this.isNan() || this.isInf()" + + " ? \'value must be finite\' : \'\'R\006finiteB\013" + + "\n\tless_thanB\016\n\014greater_thanB\010\n\006_const\"\263\027" + + "\n\013DoubleRules\022v\n\005const\030\001 \001(\001B[\302HX\nV\n\014dou" + + "ble.const\032Fthis != rules.const ? \'value " + + "must equal %s\'.format([rules.const]) : \'" + + "\'H\002R\005const\210\001\001\022\244\001\n\002lt\030\002 \001(\001B\221\001\302H\215\001\n\212\001\n\tdo" + + "uble.lt\032}!has(rules.gte) && !has(rules.g" + + "t) && (this.isNan() || this >= rules.lt)" + + "? \'value must be less than %s\'.format([r" + + "ules.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!has(rules.gte) && !h" + + "as(rules.gt) && (this.isNan() || this > " + + "rules.lte)? \'value must be less than or " + + "equal to %s\'.format([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) && (t" + + "his.isNan() || this <= rules.gt)? \'value" + + " must be greater than %s\'.format([rules." + + "gt]) : \'\'\n\304\001\n\014double.gt_lt\032\263\001has(rules.l" + + "t) && rules.lt >= rules.gt && (this.isNa" + + "n() || this >= rules.lt || this <= rules" + + ".gt)? \'value must be greater than %s and" + + " less than %s\'.format([rules.gt, rules.l" + + "t]) : \'\'\n\316\001\n\026double.gt_lt_exclusive\032\263\001ha" + + "s(rules.lt) && rules.lt < rules.gt && (t" + + "his.isNan() || (rules.lt <= this && this" + + " <= rules.gt))? \'value must be greater t" + + "han %s or less than %s\'.format([rules.gt" + + ", rules.lt]) : \'\'\n\324\001\n\rdouble.gt_lte\032\302\001ha" + + "s(rules.lte) && rules.lte >= rules.gt &&" + + " (this.isNan() || this > rules.lte || th" + + "is <= rules.gt)? \'value must be greater " + + "than %s and less than or equal to %s\'.fo" + + "rmat([rules.gt, rules.lte]) : \'\'\n\336\001\n\027dou" + + "ble.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\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) && (this.isNan() || this" + + " < rules.gte)? \'value must be greater th" + + "an 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.lt || this < rules.gte)" + + "? \'value must be greater than or equal t" + + "o %s and less than %s\'.format([rules.gte" + + ", rules.lt]) : \'\'\n\335\001\n\027double.gte_lt_excl" + + "usive\032\301\001has(rules.lt) && rules.lt < rule" + + "s.gte && (this.isNan() || (rules.lt <= t" + + "his && this < rules.gte))? \'value must b" + + "e greater than or equal to %s or less th" + + "an %s\'.format([rules.gte, rules.lt]) : \'" + + "\'\n\343\001\n\016double.gte_lte\032\320\001has(rules.lte) &&" + + " rules.lte >= rules.gte && (this.isNan()" + + " || this > rules.lte || this < rules.gte" + + ")? \'value must be greater than or equal " + + "to %s and less than or equal to %s\'.form" + + "at([rules.gte, rules.lte]) : \'\'\n\355\001\n\030doub" + + "le.gte_lte_exclusive\032\320\001has(rules.lte) &&" + + " rules.lte < rules.gte && (this.isNan() " + + "|| (rules.lte < this && this < rules.gte" + + "))? \'value must be greater than or equal" + + " to %s or less than or equal to %s\'.form" + + "at([rules.gte, rules.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 li" + + "st %s\'.format([dyn(rules)[\'in\']]) : \'\'R\002" + + "in\022~\n\006not_in\030\007 \003(\001Bg\302Hd\nb\n\rdouble.not_in" + + "\032Qthis in rules.not_in ? \'value must not" + + " be in list %s\'.format([rules.not_in]) :" + + " \'\'R\005notIn\022h\n\006finite\030\010 \001(\010BP\302HM\nK\n\rdoubl" + + "e.finite\032:this.isNan() || this.isInf() ?" + + " \'value must be finite\' : \'\'R\006finiteB\013\n\t" + + "less_thanB\016\n\014greater_thanB\010\n\006_const\"\342\024\n\n" + + "Int32Rules\022u\n\005const\030\001 \001(\005BZ\302HW\nU\n\013int32." + + "const\032Fthis != rules.const ? \'value must" + + " equal %s\'.format([rules.const]) : \'\'H\002R" + + "\005const\210\001\001\022\216\001\n\002lt\030\002 \001(\005B|\302Hy\nw\n\010int32.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\241\001\n\003l" + + "te\030\003 \001(\005B\214\001\302H\210\001\n\205\001\n\tint32.lte\032x!has(rule" + + "s.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\010int32.gt\032n!has(rul" + + "es.lt) && !has(rules.lte) && this <= rul" + + "es.gt? \'value must be greater than %s\'.f" + + "ormat([rules.gt]) : \'\'\n\263\001\n\013int32.gt_lt\032\243" + + "\001has(rules.lt) && rules.lt >= rules.gt &" + + "& (this >= rules.lt || this <= rules.gt)" + + "? \'value must be greater than %s and les" + + "s than %s\'.format([rules.gt, rules.lt]) " + + ": \'\'\n\273\001\n\025int32.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\303\001\n\014i" + + "nt32.gt_lte\032\262\001has(rules.lte) && rules.lt" + + "e >= rules.gt && (this > rules.lte || th" + + "is <= rules.gt)? \'value must be greater " + + "than %s and less than or equal to %s\'.fo" + + "rmat([rules.gt, rules.lte]) : \'\'\n\313\001\n\026int" + + "32.gt_lte_exclusive\032\260\001has(rules.lte) && " + + "rules.lte < rules.gt && (rules.lte < thi" + + "s && this <= rules.gt)? \'value must be g" + + "reater than %s or less than or equal to " + + "%s\'.format([rules.gt, rules.lte]) : \'\'H\001" + + "R\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) && th" + + "is < rules.gte? \'value must be greater t" + + "han or equal to %s\'.format([rules.gte]) " + + ": \'\'\n\302\001\n\014int32.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 th" + + "an %s\'.format([rules.gte, rules.lt]) : \'" + + "\'\n\312\001\n\026int32.gte_lt_exclusive\032\257\001has(rules" + + ".lt) && rules.lt < rules.gte && (rules.l" + + "t <= this && this < rules.gte)? \'value m" + + "ust be greater than or equal to %s or le" + + "ss than %s\'.format([rules.gte, rules.lt]" + + ") : \'\'\n\322\001\n\rint32.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\332\001\n\027int32.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\022y\n\002in\030\006 \003(\005Bi\302Hf\nd\n\010int32.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(\005Bf\302Hc\na\n\014int32" + + ".not_in\032Qthis in rules.not_in ? \'value m" + + "ust not be in list %s\'.format([rules.not" + + "_in]) : \'\'R\005notInB\013\n\tless_thanB\016\n\014greate" + + "r_thanB\010\n\006_const\"\342\024\n\nInt64Rules\022u\n\005const" + + "\030\001 \001(\003BZ\302HW\nU\n\013int64.const\032Fthis != rule" + + "s.const ? \'value must equal %s\'.format([" + "rules.const]) : \'\'H\002R\005const\210\001\001\022\216\001\n\002lt\030\002 " + - "\001(\002B|\302Hy\nw\n\010float.lt\032k!has(rules.gte) &&" + + "\001(\003B|\302Hy\nw\n\010int64.lt\032k!has(rules.gte) &&" + " !has(rules.gt) && this >= rules.lt? \'va" + "lue must be less than %s\'.format([rules." + - "lt]) : \'\'H\000R\002lt\022\241\001\n\003lte\030\003 \001(\002B\214\001\302H\210\001\n\205\001\n" + - "\tfloat.lte\032x!has(rules.gte) && !has(rule" + + "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(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\233\007\n\002gt\030\004 \001(\002B\210\007\302H\204\007\n" + - "z\n\010float.gt\032n!has(rules.lt) && !has(rule" + + "s.lte]) : \'\'H\000R\003lte\022\233\007\n\002gt\030\004 \001(\003B\210\007\302H\204\007\n" + + "z\n\010int64.gt\032n!has(rules.lt) && !has(rule" + "s.lte) && this <= rules.gt? \'value must " + "be greater than %s\'.format([rules.gt]) :" + - " \'\'\n\263\001\n\013float.gt_lt\032\243\001has(rules.lt) && r" + + " \'\'\n\263\001\n\013int64.gt_lt\032\243\001has(rules.lt) && r" + "ules.lt >= rules.gt && (this >= rules.lt" + " || this <= rules.gt)? \'value must be gr" + "eater than %s and less than %s\'.format([" + - "rules.gt, rules.lt]) : \'\'\n\273\001\n\025float.gt_l" + + "rules.gt, rules.lt]) : \'\'\n\273\001\n\025int64.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\303\001\n\014float.gt_lte\032\262\001has(r" + + "rules.lt]) : \'\'\n\303\001\n\014int64.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\313\001\n\026float.gt_lte_exclusive" + + "es.lte]) : \'\'\n\313\001\n\026int64.gt_lte_exclusive" + "\032\260\001has(rules.lte) && rules.lte < rules.g" + "t && (rules.lte < this && this <= rules." + "gt)? \'value must be greater than %s or l" + "ess than or equal to %s\'.format([rules.g" + - "t, rules.lte]) : \'\'H\001R\002gt\022\350\007\n\003gte\030\005 \001(\002B" + - "\323\007\302H\317\007\n\210\001\n\tfloat.gte\032{!has(rules.lt) && " + + "t, rules.lte]) : \'\'H\001R\002gt\022\350\007\n\003gte\030\005 \001(\003B" + + "\323\007\302H\317\007\n\210\001\n\tint64.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\302\001\n\014float.gte_" + + ".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 must be greater than or eq" + "ual to %s and less than %s\'.format([rule" + - "s.gte, rules.lt]) : \'\'\n\312\001\n\026float.gte_lt_" + + "s.gte, rules.lt]) : \'\'\n\312\001\n\026int64.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\rfloat.gt" + + "[rules.gte, rules.lt]) : \'\'\n\322\001\n\rint64.gt" + "e_lte\032\300\001has(rules.lte) && rules.lte >= r" + "ules.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\332\001\n\027float.gte_lte_exclusive\032\276\001has(rules" + + "\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 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(\002" + - "Bi\302Hf\nd\n\010float.in\032X!(this in dyn(rules)[" + + "gte, rules.lte]) : \'\'H\001R\003gte\022y\n\002in\030\006 \003(\003" + + "Bi\302Hf\nd\n\010int64.in\032X!(this in dyn(rules)[" + "\'in\']) ? \'value must be in list %s\'.form" + "at([dyn(rules)[\'in\']]) : \'\'R\002in\022}\n\006not_i" + - "n\030\007 \003(\002Bf\302Hc\na\n\014float.not_in\032Qthis in ru" + + "n\030\007 \003(\003Bf\302Hc\na\n\014int64.not_in\032Qthis in ru" + "les.not_in ? \'value must not be in list " + - "%s\'.format([rules.not_in]) : \'\'R\005notIn\022g" + - "\n\006finite\030\010 \001(\010BO\302HL\nJ\n\014float.finite\032:thi" + - "s.isNan() || this.isInf() ? \'value must " + - "be finite\' : \'\'R\006finiteB\013\n\tless_thanB\016\n\014" + - "greater_thanB\010\n\006_const\"\334\025\n\013DoubleRules\022v" + - "\n\005const\030\001 \001(\001B[\302HX\nV\n\014double.const\032Fthis" + - " != rules.const ? \'value must equal %s\'." + - "format([rules.const]) : \'\'H\002R\005const\210\001\001\022\217" + - "\001\n\002lt\030\002 \001(\001B}\302Hz\nx\n\tdouble.lt\032k!has(rule" + - "s.gte) && !has(rules.gt) && this >= rule" + - "s.lt? \'value must be less than %s\'.forma" + - "t([rules.lt]) : \'\'H\000R\002lt\022\242\001\n\003lte\030\003 \001(\001B\215" + - "\001\302H\211\001\n\206\001\n\ndouble.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\240\007\n\002gt\030\004 \001" + - "(\001B\215\007\302H\211\007\n{\n\tdouble.gt\032n!has(rules.lt) &" + - "& !has(rules.lte) && this <= rules.gt? \'" + - "value must be greater than %s\'.format([r" + - "ules.gt]) : \'\'\n\264\001\n\014double.gt_lt\032\243\001has(ru" + - "les.lt) && rules.lt >= rules.gt && (this" + - " >= rules.lt || this <= rules.gt)? \'valu" + - "e must be greater than %s and less than " + - "%s\'.format([rules.gt, rules.lt]) : \'\'\n\274\001" + - "\n\026double.gt_lt_exclusive\032\241\001has(rules.lt)" + - " && rules.lt < rules.gt && (rules.lt <= " + - "this && this <= rules.gt)? \'value must b" + - "e greater than %s or less than %s\'.forma" + - "t([rules.gt, rules.lt]) : \'\'\n\304\001\n\rdouble." + - "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\027double.g" + - "t_lte_exclusive\032\260\001has(rules.lte) && rule" + - "s.lte < rules.gt && (rules.lte < this &&" + - " this <= rules.gt)? \'value must be great" + - "er 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(\001B\330\007\302H\324\007\n\211\001\n\ndouble.gte\032{!h" + - "as(rules.lt) && !has(rules.lte) && this " + - "< rules.gte? \'value must be greater than" + - " or equal to %s\'.format([rules.gte]) : \'" + - "\'\n\303\001\n\rdouble.gte_lt\032\261\001has(rules.lt) && r" + - "ules.lt >= rules.gte && (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" + - "\313\001\n\027double.gte_lt_exclusive\032\257\001has(rules." + - "lt) && rules.lt < rules.gte && (rules.lt" + - " <= this && this < rules.gte)? \'value mu" + - "st be greater than or equal to %s or les" + - "s than %s\'.format([rules.gte, rules.lt])" + - " : \'\'\n\323\001\n\016double.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\333\001\n\030double.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\022z\n\002in\030\006 \003(\001Bj\302Hg\ne\n\tdouble.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(\001Bg\302Hd\nb\n\rdou" + - "ble.not_in\032Qthis in rules.not_in ? \'valu" + - "e must not be in list %s\'.format([rules." + - "not_in]) : \'\'R\005notIn\022h\n\006finite\030\010 \001(\010BP\302H" + - "M\nK\n\rdouble.finite\032:this.isNan() || this" + - ".isInf() ? \'value must be finite\' : \'\'R\006" + - "finiteB\013\n\tless_thanB\016\n\014greater_thanB\010\n\006_" + - "const\"\342\024\n\nInt32Rules\022u\n\005const\030\001 \001(\005BZ\302HW" + - "\nU\n\013int32.const\032Fthis != rules.const ? \'" + - "value must equal %s\'.format([rules.const" + - "]) : \'\'H\002R\005const\210\001\001\022\216\001\n\002lt\030\002 \001(\005B|\302Hy\nw\n" + - "\010int32.lt\032k!has(rules.gte) && !has(rules" + - ".gt) && this >= rules.lt? \'value must be" + - " less than %s\'.format([rules.lt]) : \'\'H\000" + - "R\002lt\022\241\001\n\003lte\030\003 \001(\005B\214\001\302H\210\001\n\205\001\n\tint32.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\233\007\n\002gt\030\004 \001(\005B\210\007\302H\204\007\nz\n\010int32.gt" + - "\032n!has(rules.lt) && !has(rules.lte) && t" + - "his <= rules.gt? \'value must be greater " + - "than %s\'.format([rules.gt]) : \'\'\n\263\001\n\013int" + - "32.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, r" + - "ules.lt]) : \'\'\n\273\001\n\025int32.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 les" + - "s than %s\'.format([rules.gt, rules.lt]) " + - ": \'\'\n\303\001\n\014int32.gt_lte\032\262\001has(rules.lte) &" + + "%s\'.format([rules.not_in]) : \'\'R\005notInB\013" + + "\n\tless_thanB\016\n\014greater_thanB\010\n\006_const\"\362\024" + + "\n\013UInt32Rules\022v\n\005const\030\001 \001(\rB[\302HX\nV\n\014uin" + + "t32.const\032Fthis != rules.const ? \'value " + + "must equal %s\'.format([rules.const]) : \'" + + "\'H\002R\005const\210\001\001\022\217\001\n\002lt\030\002 \001(\rB}\302Hz\nx\n\tuint3" + + "2.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(\rB\215\001\302H\211\001\n\206\001\n\nuint32.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\240\007\n\002gt\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 tha" + + "n %s\'.format([rules.gt]) : \'\'\n\264\001\n\014uint32" + + ".gt_lt\032\243\001has(rules.lt) && rules.lt >= ru" + + "les.gt && (this >= rules.lt || this <= r" + + "ules.gt)? \'value must be greater than %s" + + " and less than %s\'.format([rules.gt, rul" + + "es.lt]) : \'\'\n\274\001\n\026uint32.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\ruint32.gt_lte\032\262\001has(rules.lte) &" + "& rules.lte >= rules.gt && (this > rules" + ".lte || this <= rules.gt)? \'value must b" + "e 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(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\350\007\n\003gte\030\005 \001(\005B\323\007\302H\317\007\n\210\001\n\t" + - "int32.gte\032{!has(rules.lt) && !has(rules." + - "lte) && this < rules.gte? \'value must be" + - " greater than or equal to %s\'.format([ru" + - "les.gte]) : \'\'\n\302\001\n\014int32.gte_lt\032\261\001has(ru" + + "\'\'\n\314\001\n\027uint32.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\355\007\n\003gte\030\005 \001(\rB\330\007\302H\324\007\n\211\001\n" + + "\nuint32.gte\032{!has(rules.lt) && !has(rule" + + "s.lte) && this < rules.gte? \'value must " + + "be greater 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 >= rules.lt || this < rules.gte)? \'" + + "value must be greater than or equal to %" + + "s and less than %s\'.format([rules.gte, r" + + "ules.lt]) : \'\'\n\313\001\n\027uint32.gte_lt_exclusi" + + "ve\032\257\001has(rules.lt) && rules.lt < rules.g" + + "te && (rules.lt <= this && this < rules." + + "gte)? \'value must be greater than or equ" + + "al 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.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\333\001\n\030u" + + "int32.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(\rBj\302Hg" + + "\ne\n\tuint32.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(\rBg\302Hd\nb\n\ruint32.not_in\032Qthis in rules" + + ".not_in ? \'value must not be in list %s\'" + + ".format([rules.not_in]) : \'\'R\005notInB\013\n\tl" + + "ess_thanB\016\n\014greater_thanB\010\n\006_const\"\362\024\n\013U" + + "Int64Rules\022v\n\005const\030\001 \001(\004B[\302HX\nV\n\014uint64" + + ".const\032Fthis != rules.const ? \'value mus" + + "t equal %s\'.format([rules.const]) : \'\'H\002" + + "R\005const\210\001\001\022\217\001\n\002lt\030\002 \001(\004B}\302Hz\nx\n\tuint64.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\242\001\n" + + "\003lte\030\003 \001(\004B\215\001\302H\211\001\n\206\001\n\nuint64.lte\032x!has(r" + + "ules.gte) && !has(rules.gt) && this > ru", + "les.lte? \'value must be less than or equ" + + "al to %s\'.format([rules.lte]) : \'\'H\000R\003lt" + + "e\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) && 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 >= rules" + + ".gt && (this >= rules.lt || this <= rule" + + "s.gt)? \'value must be greater than %s an" + + "d less than %s\'.format([rules.gt, rules." + + "lt]) : \'\'\n\274\001\n\026uint64.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\304\001\n\ruint64.gt_lte\032\262\001has(rules.lte) && r" + + "ules.lte >= rules.gt && (this > rules.lt" + + "e || this <= rules.gt)? \'value must be g" + + "reater 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(rules." + + "lte) && rules.lte < rules.gt && (rules.l" + + "te < this && this <= rules.gt)? \'value m" + + "ust be greater than %s or less than or e" + + "qual to %s\'.format([rules.gt, rules.lte]" + + ") : \'\'H\001R\002gt\022\355\007\n\003gte\030\005 \001(\004B\330\007\302H\324\007\n\211\001\n\nui" + + "nt64.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\303\001\n\ruint64.gte_lt\032\261\001has(ru" + "les.lt) && rules.lt >= rules.gte && (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\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 t" + - "o %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.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\332\001\n\027int32." + + "s.lt]) : \'\'\n\313\001\n\027uint64.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\016uint64.gte_lte\032\300\001h" + + "as(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\'.form" + + "at([rules.gte, rules.lte]) : \'\'\n\333\001\n\030uint" + + "64.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\022z\n\002in\030\006 \003(\004Bj\302Hg\ne\n" + + "\tuint64.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(\004" + + "Bg\302Hd\nb\n\ruint64.not_in\032Qthis in rules.no" + + "t_in ? \'value must not be in list %s\'.fo" + + "rmat([rules.not_in]) : \'\'R\005notInB\013\n\tless" + + "_thanB\016\n\014greater_thanB\010\n\006_const\"\362\024\n\013SInt" + + "32Rules\022v\n\005const\030\001 \001(\021B[\302HX\nV\n\014sint32.co" + + "nst\032Fthis != rules.const ? \'value must e" + + "qual %s\'.format([rules.const]) : \'\'H\002R\005c" + + "onst\210\001\001\022\217\001\n\002lt\030\002 \001(\021B}\302Hz\nx\n\tsint32.lt\032k" + + "!has(rules.gte) && !has(rules.gt) && thi" + + "s >= rules.lt? \'value must be less than " + + "%s\'.format([rules.lt]) : \'\'H\000R\002lt\022\242\001\n\003lt" + + "e\030\003 \001(\021B\215\001\302H\211\001\n\206\001\n\nsint32.lte\032x!has(rule" + + "s.gte) && !has(rules.gt) && this > 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(\021B\215\007\302H\211\007\n{\n\tsint32.gt\032n!has(ru" + + "les.lt) && !has(rules.lte) && this <= ru" + + "les.gt? \'value must be greater than %s\'." + + "format([rules.gt]) : \'\'\n\264\001\n\014sint32.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" + + "ess than %s\'.format([rules.gt, rules.lt]" + + ") : \'\'\n\274\001\n\026sint32.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\304\001" + + "\n\rsint32.gt_lte\032\262\001has(rules.lte) && rule" + + "s.lte >= rules.gt && (this > rules.lte |" + + "| this <= rules.gt)? \'value must be grea" + + "ter than %s and less than or equal to %s" + + "\'.format([rules.gt, rules.lte]) : \'\'\n\314\001\n" + + "\027sint32.gt_lte_exclusive\032\260\001has(rules.lte" + + ") && rules.lte < rules.gt && (rules.lte " + + "< this && this <= rules.gt)? \'value must" + + " be greater than %s or less than or equa" + + "l to %s\'.format([rules.gt, rules.lte]) :" + + " \'\'H\001R\002gt\022\355\007\n\003gte\030\005 \001(\021B\330\007\302H\324\007\n\211\001\n\nsint3" + + "2.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\303\001\n\rsint32.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\313\001\n\027sint32.gte_lt_exclusive\032\257\001h" + + "as(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, r" + + "ules.lt]) : \'\'\n\323\001\n\016sint32.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\030sint32." + "gte_lte_exclusive\032\276\001has(rules.lte) && ru" + "les.lte < rules.gte && (rules.lte < this" + " && this < rules.gte)? \'value must be gr" + "eater than or equal to %s or less than o" + "r equal to %s\'.format([rules.gte, rules." + - "lte]) : \'\'H\001R\003gte\022y\n\002in\030\006 \003(\005Bi\302Hf\nd\n\010in" + - "t32.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(\005Bf\302H" + - "c\na\n\014int32.not_in\032Qthis in rules.not_in " + - "? \'value must not be in list %s\'.format(" + - "[rules.not_in]) : \'\'R\005notInB\013\n\tless_than" + - "B\016\n\014greater_thanB\010\n\006_const\"\342\024\n\nInt64Rule" + - "s\022u\n\005const\030\001 \001(\003BZ\302HW\nU\n\013int64.const\032Fth" + - "is != rules.const ? \'value must equal %s" + - "\'.format([rules.const]) : \'\'H\002R\005const\210\001\001" + - "\022\216\001\n\002lt\030\002 \001(\003B|\302Hy\nw\n\010int64.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\241\001\n\003lte\030\003 \001(\003B" + - "\214\001\302H\210\001\n\205\001\n\tint64.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\233\007\n\002gt\030\004 \001" + - "(\003B\210\007\302H\204\007\nz\n\010int64.gt\032n!has(rules.lt) &&" + - " !has(rules.lte) && this <= rules.gt? \'v" + - "alue must be greater than %s\'.format([ru" + - "les.gt]) : \'\'\n\263\001\n\013int64.gt_lt\032\243\001has(rule" + - "s.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\025" + - "int64.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\303\001\n\014int64.gt_l" + - "te\032\262\001has(rules.lte) && rules.lte >= rule" + - "s.gt && (this > rules.lte || this <= rul" + - "es.gt)? \'value must be greater than %s a" + - "nd less than or equal to %s\'.format([rul" + - "es.gt, rules.lte]) : \'\'\n\313\001\n\026int64.gt_lte" + - "_exclusive\032\260\001has(rules.lte) && rules.lte" + - " < rules.gt && (rules.lte < this && this" + - " <= rules.gt)? \'value must be greater th" + - "an %s or less than or equal to %s\'.forma" + - "t([rules.gt, rules.lte]) : \'\'H\001R\002gt\022\350\007\n\003" + - "gte\030\005 \001(\003B\323\007\302H\317\007\n\210\001\n\tint64.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\302\001\n\014" + - "int64.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\312\001\n\026int" + - "64.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\322\001" + - "\n\rint64.gte_lte\032\300\001has(rules.lte) && rule" + - "s.lte >= rules.gte && (this > rules.lte " + - "|| this < rules.gte)? \'value must be gre" + - "ater than or equal to %s and less than o" + - "r 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.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\022y" + - "\n\002in\030\006 \003(\003Bi\302Hf\nd\n\010int64.in\032X!(this in d" + - "yn(rules)[\'in\']) ? \'value must be in lis" + - "t %s\'.format([dyn(rules)[\'in\']]) : \'\'R\002i" + - "n\022}\n\006not_in\030\007 \003(\003Bf\302Hc\na\n\014int64.not_in\032Q" + - "this in rules.not_in ? \'value must not b" + - "e in list %s\'.format([rules.not_in]) : \'" + - "\'R\005notInB\013\n\tless_thanB\016\n\014greater_thanB\010\n" + - "\006_const\"\362\024\n\013UInt32Rules\022v\n\005const\030\001 \001(\rB[" + - "\302HX\nV\n\014uint32.const\032Fthis != rules.const" + - " ? \'value must equal %s\'.format([rules.c" + - "onst]) : \'\'H\002R\005const\210\001\001\022\217\001\n\002lt\030\002 \001(\rB}\302H" + - "z\nx\n\tuint32.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\242\001\n\003lte\030\003 \001(\rB\215\001\302H\211\001\n\206\001\n\nuint3" + - "2.lte\032x!has(rules.gte) && !has(rules.gt)" + - " && this > rules.lte? \'value must be les" + - "s 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\tui" + - "nt32.gt\032n!has(rules.lt) && !has(rules.lt" + - "e) && this <= rules.gt? \'value must be g" + - "reater than %s\'.format([rules.gt]) : \'\'\n" + - "\264\001\n\014uint32.gt_lt\032\243\001has(rules.lt) && rule" + - "s.lt >= rules.gt && (this >= rules.lt ||" + - " this <= rules.gt)? \'value must be great" + - "er than %s and less than %s\'.format([rul" + - "es.gt, rules.lt]) : \'\'\n\274\001\n\026uint32.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\304\001\n\ruint32.gt_lte\032\262\001has(ru" + - "les.lte) && rules.lte >= rules.gt && (th" + - "is > rules.lte || this <= rules.gt)? \'va" + - "lue must be greater than %s and less tha" + - "n or equal to %s\'.format([rules.gt, rule" + - "s.lte]) : \'\'\n\314\001\n\027uint32.gt_lte_exclusive" + - "\032\260\001has(rules.lte) && rules.lte < rules.g" + - "t && (rules.lte < this && this <= rules." + - "gt)? \'value must be greater than %s or l" + - "ess than or equal to %s\'.format([rules.g" + - "t, rules.lte]) : \'\'H\001R\002gt\022\355\007\n\003gte\030\005 \001(\rB" + - "\330\007\302H\324\007\n\211\001\n\nuint32.gte\032{!has(rules.lt) &&" + - " !has(rules.lte) && this < rules.gte? \'v" + + "lte]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003(\021Bj\302Hg\ne\n\tsi" + + "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(\021Bg\302" + + "Hd\nb\n\rsint32.not_in\032Qthis in rules.not_i" + + "n ? \'value must not be in list %s\'.forma" + + "t([rules.not_in]) : \'\'R\005notInB\013\n\tless_th" + + "anB\016\n\014greater_thanB\010\n\006_const\"\362\024\n\013SInt64R" + + "ules\022v\n\005const\030\001 \001(\022B[\302HX\nV\n\014sint64.const" + + "\032Fthis != rules.const ? \'value must equa" + + "l %s\'.format([rules.const]) : \'\'H\002R\005cons" + + "t\210\001\001\022\217\001\n\002lt\030\002 \001(\022B}\302Hz\nx\n\tsint64.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(\022B\215\001\302H\211\001\n\206\001\n\nsint64.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(\022B\215\007\302H\211\007\n{\n\tsint64.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\014sint64.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\026sint64.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\rs" + + "int64.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\027si" + + "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\355\007\n\003gte\030\005 \001(\022B\330\007\302H\324\007\n\211\001\n\nsint64.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\rsint64.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\027sint64.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\016sint64.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 or equal to %s\'.format([ru" + + "les.gte, rules.lte]) : \'\'\n\333\001\n\030sint64.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(\022Bj\302Hg\ne\n\tsint6" + + "4.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(\022Bg\302Hd\n" + + "b\n\rsint64.not_in\032Qthis in rules.not_in ?" + + " \'value must not be in list %s\'.format([" + + "rules.not_in]) : \'\'R\005notInB\013\n\tless_thanB" + + "\016\n\014greater_thanB\010\n\006_const\"\202\025\n\014Fixed32Rul" + + "es\022w\n\005const\030\001 \001(\007B\\\302HY\nW\n\rfixed32.const\032" + + "Fthis != rules.const ? \'value must equal" + + " %s\'.format([rules.const]) : \'\'H\002R\005const" + + "\210\001\001\022\220\001\n\002lt\030\002 \001(\007B~\302H{\ny\n\nfixed32.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\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.l" + + "te? \'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(rul" + + "es.lt) && !has(rules.lte) && this <= rul" + + "es.gt? \'value must be greater than %s\'.f" + + "ormat([rules.gt]) : \'\'\n\265\001\n\rfixed32.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" + + "ess than %s\'.format([rules.gt, rules.lt]" + + ") : \'\'\n\275\001\n\027fixed32.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\305" + + "\001\n\016fixed32.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\315" + + "\001\n\030fixed32.gt_lte_exclusive\032\260\001has(rules." + + "lte) && rules.lte < rules.gt && (rules.l" + + "te < this && this <= rules.gt)? \'value m" + + "ust be greater than %s or less than or e" + + "qual 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\013fi" + + "xed32.gte\032{!has(rules.lt) && !has(rules." + + "lte) && this < rules.gte? \'value must be" + + " greater than or equal to %s\'.format([ru" + + "les.gte]) : \'\'\n\304\001\n\016fixed32.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" + - "\'.format([rules.gte]) : \'\'\n\303\001\n\ruint32.gt" + - "e_lt\032\261\001has(rules.lt) && rules.lt >= rule" + - "s.gte && (this >= rules.lt || this < rul" + - "es.gte)? \'value must be greater than or " + - "equal to %s and less than %s\'.format([ru" + - "les.gte, rules.lt]) : \'\'\n\313\001\n\027uint32.gte_" + - "lt_exclusive\032\257\001has(rules.lt) && rules.lt" + - " < rules.gte && (rules.lt <= this && thi" + - "s < rules.gte)? \'value must be greater t" + - "han or equal to %s or less than %s\'.form" + - "at([rules.gte, rules.lt]) : \'\'\n\323\001\n\016uint3" + - "2.gte_lte\032\300\001has(rules.lte) && rules.lte " + - ">= rules.gte && (this > rules.lte || thi" + - "s < rules.gte)? \'value must be greater t" + - "han or equal to %s and less than or equa" + - "l to %s\'.format([rules.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 greater than or equal to %" + - "s or less than or equal to %s\'.format([r" + - "ules.gte, rules.lte]) : \'\'H\001R\003gte\022z\n\002in\030" + - "\006 \003(\rBj\302Hg\ne\n\tuint32.in\032X!(this in dyn(r" + - "ules)[\'in\']) ? \'value must be in list %s" + - "\'.format([dyn(rules)[\'in\']]) : \'\'R\002in\022~\n" + - "\006not_in\030\007 \003(\rBg\302Hd\nb\n\ruint32.not_in\032Qthi" + - "s in rules.not_in ? \'value must not be i" + - "n list %s\'.format([rules.not_in]) : \'\'R\005" + - "notInB\013\n\tless_thanB\016\n\014greater_thanB\010\n\006_c" + - "onst\"\362\024\n\013UInt64Rules\022v\n\005const\030\001 \001(\004B[\302HX" + - "\nV\n\014uint64.const\032Fthis != rules.const ? " + - "\'value must equal %s\'.format([rules.cons" + - "t]) : \'\'H\002R\005const\210\001\001\022\217\001\n\002lt\030\002 \001(\004B}\302Hz\nx" + - "\n\tuint64.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(\004B\215\001\302H\211\001\n\206\001\n\nuint64.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(\004B\215\007\302H\211\007\n{\n\tuint6" + - "4.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" + - "\014uint64.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\026uint64.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\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 o" + - "r equal to %s\'.format([rules.gt, rules.l" + - "te]) : \'\'\n\314\001\n\027uint64.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(\004B\330\007\302" + - "H\324\007\n\211\001\n\nuint64.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\ruint64.gte_l" + - "t\032\261\001has(rules.lt) && rules.lt >= rules.g" + - "te && (this >= rules.lt || this < rules." + + " and less than %s\'.format([rules.gte, ru" + + "les.lt]) : \'\'\n\314\001\n\030fixed32.gte_lt_exclusi" + + "ve\032\257\001has(rules.lt) && rules.lt < rules.g" + + "te && (rules.lt <= this && 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\027uint64.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\016uint64.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\030uint64.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" + - "(\004Bj\302Hg\ne\n\tuint64.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(\004Bg\302Hd\nb\n\ruint64.not_in\032Qthis i" + - "n rules.not_in ? \'value must not be in l" + - "ist %s\'.format([rules.not_in]) : \'\'R\005not" + - "InB\013\n\tless_thanB\016\n\014greater_thanB\010\n\006_cons" + - "t\"\362\024\n\013SInt32Rules\022v\n\005const\030\001 \001(\021B[\302HX\nV\n" + - "\014sint32.const\032Fthis != rules.const ? \'va" + - "lue must equal %s\'.format([rules.const])" + - " : \'\'H\002R\005const\210\001\001\022\217\001\n\002lt\030\002 \001(\021B}\302Hz\nx\n\ts" + - "int32.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(\021B\215\001\302H\211\001\n\206\001\n\nsint32.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\240\007\n\002gt\030\004 \001(\021B\215\007\302H\211\007\n{\n\tsint32.g" + - "t\032n!has(rules.lt) && !has(rules.lte) && " + - "this <= rules.gt? \'value must be greater" + - " than %s\'.format([rules.gt]) : \'\'\n\264\001\n\014si" + - "nt32.gt_lt\032\243\001has(rules.lt) && rules.lt >" + - "= rules.gt && (this >= rules.lt || this " + - "<= rules.gt)? \'value must be greater tha" + - "n %s and less than %s\'.format([rules.gt," + - " rules.lt]) : \'\'\n\274\001\n\026sint32.gt_lt_exclus" + - "ive\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\rsint32.gt_lte\032\262\001has(rules.lt" + - "e) && rules.lte >= rules.gt && (this > r" + - "ules.lte || this <= rules.gt)? \'value mu" + - "st be greater than %s and less than or e" + - "qual to %s\'.format([rules.gt, rules.lte]" + - ") : \'\'\n\314\001\n\027sint32.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\355\007\n\003gte\030\005 \001(\021B\330\007\302H\324\007" + - "\n\211\001\n\nsint32.gte\032{!has(rules.lt) && !has(" + - "rules.lte) && this < rules.gte? \'value m" + - "ust be greater than or equal to %s\'.form" + - "at([rules.gte]) : \'\'\n\303\001\n\rsint32.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.gt" + - "e, rules.lt]) : \'\'\n\313\001\n\027sint32.gte_lt_exc" + - "lusive\032\257\001has(rules.lt) && rules.lt < rul" + - "es.gte && (rules.lt <= this && this < ru" + - "les.gte)? \'value must be greater than or" + - " equal to %s or less than %s\'.format([ru" + - "les.gte, rules.lt]) : \'\'\n\323\001\n\016sint32.gte_" + - "lte\032\300\001has(rules.lte) && rules.lte >= rul" + - "es.gte && (this > rules.lte || this < ru" + - "les.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\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 l" + - "ess than or equal to %s\'.format([rules.g" + - "te, rules.lte]) : \'\'H\001R\003gte\022z\n\002in\030\006 \003(\021B" + - "j\302Hg\ne\n\tsint32.in\032X!(this in dyn(rules)[" + - "\'in\']) ? \'value must be in list %s\'.form" + - "at([dyn(rules)[\'in\']]) : \'\'R\002in\022~\n\006not_i" + - "n\030\007 \003(\021Bg\302Hd\nb\n\rsint32.not_in\032Qthis in r" + - "ules.not_in ? \'value must not be in list" + - " %s\'.format([rules.not_in]) : \'\'R\005notInB" + - "\013\n\tless_thanB\016\n\014greater_thanB\010\n\006_const\"\362" + - "\024\n\013SInt64Rules\022v\n\005const\030\001 \001(\022B[\302HX\nV\n\014si" + - "nt64.const\032Fthis != rules.const ? \'value" + - " must equal %s\'.format([rules.const]) : " + - "\'\'H\002R\005const\210\001\001\022\217\001\n\002lt\030\002 \001(\022B}\302Hz\nx\n\tsint" + - "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\242\001\n\003lte\030\003 \001(\022B\215\001\302H\211\001\n\206\001\n\nsint64.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\240\007\n\002gt\030\004 \001(\022B\215\007\302H\211\007\n{\n\tsint64.gt\032n" + - "!has(rules.lt) && !has(rules.lte) && thi" + - "s <= rules.gt? \'value must be greater th" + - "an %s\'.format([rules.gt]) : \'\'\n\264\001\n\014sint6" + - "4.gt_lt\032\243\001has(rules.lt) && rules.lt >= r" + - "ules.gt && (this >= rules.lt || this <= " + - "rules.gt)? \'value must be greater than %" + - "s and less than %s\'.format([rules.gt, ru" + - "les.lt]) : \'\'\n\274\001\n\026sint64.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 les" + - "s than %s\'.format([rules.gt, rules.lt]) " + - ": \'\'\n\304\001\n\rsint64.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\314\001\n\027sint64.gt_lte_exclusive\032\260\001has(ru" + - "les.lte) && rules.lte < rules.gt && (rul" + - "es.lte < this && this <= rules.gt)? \'val" + - "ue 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(\022B\330\007\302H\324\007\n\211\001" + - "\n\nsint64.gte\032{!has(rules.lt) && !has(rul" + - "es.lte) && this < rules.gte? \'value must" + - " be greater than or equal to %s\'.format(" + - "[rules.gte]) : \'\'\n\303\001\n\rsint64.gte_lt\032\261\001ha" + - "s(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\313\001\n\027sint64.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\323\001\n\016sint64.gte_lte" + + "al to %s or less than %s\'.format([rules." + + "gte, rules.lt]) : \'\'\n\324\001\n\017fixed32.gte_lte" + "\032\300\001has(rules.lte) && rules.lte >= rules." + "gte && (this > rules.lte || this < rules" + ".gte)? \'value must be greater than or eq" + "ual to %s and less than or equal to %s\'." + - "format([rules.gte, rules.lte]) : \'\'\n\333\001\n\030" + - "sint64.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\022z\n\002in\030\006 \003(\022Bj\302H" + - "g\ne\n\tsint64.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(\022Bg\302Hd\nb\n\rsint64.not_in\032Qthis in rule" + - "s.not_in ? \'value must not be in list %s" + - "\'.format([rules.not_in]) : \'\'R\005notInB\013\n\t" + - "less_thanB\016\n\014greater_thanB\010\n\006_const\"\202\025\n\014" + - "Fixed32Rules\022w\n\005const\030\001 \001(\007B\\\302HY\nW\n\rfixe" + - "d32.const\032Fthis != rules.const ? \'value " + - "must equal %s\'.format([rules.const]) : \'" + - "\'H\002R\005const\210\001\001\022\220\001\n\002lt\030\002 \001(\007B~\302H{\ny\n\nfixed" + - "32.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\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 o" + - "r 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) && t" + - "his <= rules.gt? \'value must be greater " + - "than %s\'.format([rules.gt]) : \'\'\n\265\001\n\rfix" + - "ed32.gt_lt\032\243\001has(rules.lt) && rules.lt >" + - "= rules.gt && (this >= rules.lt || this " + - "<= rules.gt)? \'value must be greater tha" + - "n %s and less than %s\'.format([rules.gt," + - " rules.lt]) : \'\'\n\275\001\n\027fixed32.gt_lt_exclu" + - "sive\032\241\001has(rules.lt) && rules.lt < rules" + - ".gt && (rules.lt <= this && this <= rule" + - "s.gt)? \'value must be greater than %s or" + - " less than %s\'.format([rules.gt, rules.l" + - "t]) : \'\'\n\305\001\n\016fixed32.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.lt" + - "e]) : \'\'\n\315\001\n\030fixed32.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\362\007\n\003gte\030\005 \001(\007B\335\007\302" + - "H\331\007\n\212\001\n\013fixed32.gte\032{!has(rules.lt) && !" + - "has(rules.lte) && this < rules.gte? \'val" + - "ue must be greater than or equal to %s\'." + - "format([rules.gte]) : \'\'\n\304\001\n\016fixed32.gte" + - "_lt\032\261\001has(rules.lt) && rules.lt >= rules" + - ".gte && (this >= rules.lt || this < rule" + - "s.gte)? \'value must be greater than or e" + - "qual to %s and less than %s\'.format([rul" + - "es.gte, rules.lt]) : \'\'\n\314\001\n\030fixed32.gte_" + - "lt_exclusive\032\257\001has(rules.lt) && rules.lt" + - " < rules.gte && (rules.lt <= this && thi" + - "s < rules.gte)? \'value must be greater t" + - "han or equal to %s or less than %s\'.form" + - "at([rules.gte, rules.lt]) : \'\'\n\324\001\n\017fixed" + - "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\334\001\n\031fixed32.gte_lte_exclusive\032\276\001ha" + - "s(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\002i" + - "n\030\006 \003(\007Bk\302Hh\nf\n\nfixed32.in\032X!(this in dy" + - "n(rules)[\'in\']) ? \'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\032" + - "Qthis in rules.not_in ? \'value must not " + - "be in list %s\'.format([rules.not_in]) : " + - "\'\'R\005notInB\013\n\tless_thanB\016\n\014greater_thanB\010" + - "\n\006_const\"\202\025\n\014Fixed64Rules\022w\n\005const\030\001 \001(\006" + - "B\\\302HY\nW\n\rfixed64.const\032Fthis != rules.co" + - "nst ? \'value must equal %s\'.format([rule" + - "s.const]) : \'\'H\002R\005const\210\001\001\022\220\001\n\002lt\030\002 \001(\006B" + - "~\302H{\ny\n\nfixed64.lt\032k!has(rules.gte) && !" + - "has(rules.gt) && this >= rules.lt? \'valu" + - "e must 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\013f" + - "ixed64.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\245\007\n\002gt\030\004 \001(\006B\222\007\302H\216\007\n" + - "|\n\nfixed64.gt\032n!has(rules.lt) && !has(ru" + - "les.lte) && this <= rules.gt? \'value mus" + - "t be greater than %s\'.format([rules.gt])" + - " : \'\'\n\265\001\n\rfixed64.gt_lt\032\243\001has(rules.lt) " + - "&& rules.lt >= rules.gt && (this >= rule" + - "s.lt || this <= rules.gt)? \'value must b" + - "e greater than %s and less than %s\'.form" + - "at([rules.gt, rules.lt]) : \'\'\n\275\001\n\027fixed6" + - "4.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\305\001\n\016fixed64.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\315\001\n\030fixed64.gt_lte" + - "_exclusive\032\260\001has(rules.lte) && rules.lte" + - " < rules.gt && (rules.lte < this && this" + - " <= rules.gt)? \'value must be greater th" + - "an %s or less than or equal to %s\'.forma" + - "t([rules.gt, rules.lte]) : \'\'H\001R\002gt\022\362\007\n\003" + - "gte\030\005 \001(\006B\335\007\302H\331\007\n\212\001\n\013fixed64.gte\032{!has(r" + - "ules.lt) && !has(rules.lte) && this < ru" + - "les.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) && 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\314\001\n" + - "\030fixed64.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\324\001\n\017fixed64.gte_lte\032\300\001has(rules.lte)" + - " && rules.lte >= rules.gte && (this > ru" + - "les.lte || this < rules.gte)? \'value mus" + - "t be greater than or equal to %s and les" + + "format([rules.gte, rules.lte]) : \'\'\n\334\001\n\031" + + "fixed32.gte_lte_exclusive\032\276\001has(rules.lt" + + "e) && rules.lte < rules.gte && (rules.lt" + + "e < this && this < rules.gte)? \'value mu" + + "st be greater than or equal to %s or les" + "s than or equal to %s\'.format([rules.gte" + - ", rules.lte]) : \'\'\n\334\001\n\031fixed64.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(\006Bk\302Hh\nf\n\nfixed64.in\032" + - "X!(this in dyn(rules)[\'in\']) ? \'value mu" + - "st be in list %s\'.format([dyn(rules)[\'in" + - "\']]) : \'\'R\002in\022\177\n\006not_in\030\007 \003(\006Bh\302He\nc\n\016fi" + - "xed64.not_in\032Qthis in rules.not_in ? \'va" + - "lue must not be in list %s\'.format([rule" + - "s.not_in]) : \'\'R\005notInB\013\n\tless_thanB\016\n\014g" + - "reater_thanB\010\n\006_const\"\223\025\n\rSFixed32Rules\022" + - "x\n\005const\030\001 \001(\017B]\302HZ\nX\n\016sfixed32.const\032Ft" + - "his != rules.const ? \'value must equal %" + - "s\'.format([rules.const]) : \'\'H\002R\005const\210\001" + - "\001\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!has(rules." + - "gte) && !has(rules.gt) && this > rules.l" + - "te? \'value must be less than 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\013sfixed32.gt\032n!has(ru" + - "les.lt) && !has(rules.lte) && this <= ru" + - "les.gt? \'value must be greater 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 greater than %s and" + - " less than %s\'.format([rules.gt, rules.l" + - "t]) : \'\'\n\276\001\n\030sfixed32.gt_lt_exclusive\032\241\001" + - "has(rules.lt) && rules.lt < rules.gt && " + - "(rules.lt <= this && this <= rules.gt)? " + - "\'value must be greater than %s or less t" + - "han %s\'.format([rules.gt, rules.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 b" + - "e greater than %s and less than or equal" + - " to %s\'.format([rules.gt, rules.lte]) : " + - "\'\'\n\316\001\n\031sfixed32.gt_lte_exclusive\032\260\001has(r" + - "ules.lte) && rules.lte < rules.gt && (ru" + - "les.lte < this && this <= rules.gt)? \'va" + - "lue must be greater than %s or less than" + + ", rules.lte]) : \'\'H\001R\003gte\022{\n\002in\030\006 \003(\007Bk\302" + + "Hh\nf\n\nfixed32.in\032X!(this in dyn(rules)[\'" + + "in\']) ? \'value must be in list %s\'.forma" + + "t([dyn(rules)[\'in\']]) : \'\'R\002in\022\177\n\006not_in" + + "\030\007 \003(\007Bh\302He\nc\n\016fixed32.not_in\032Qthis in r" + + "ules.not_in ? \'value must not be in list" + + " %s\'.format([rules.not_in]) : \'\'R\005notInB" + + "\013\n\tless_thanB\016\n\014greater_thanB\010\n\006_const\"\202" + + "\025\n\014Fixed64Rules\022w\n\005const\030\001 \001(\006B\\\302HY\nW\n\rf" + + "ixed64.const\032Fthis != rules.const ? \'val" + + "ue must equal %s\'.format([rules.const]) " + + ": \'\'H\002R\005const\210\001\001\022\220\001\n\002lt\030\002 \001(\006B~\302H{\ny\n\nfi" + + "xed64.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(\006B\216\001\302H\212\001\n\207\001\n\013fixed64.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\245\007\n\002gt\030\004 \001(\006B\222\007\302H\216\007\n|\n\nfixed64" + + ".gt\032n!has(rules.lt) && !has(rules.lte) &" + + "& this <= rules.gt? \'value must be great" + + "er than %s\'.format([rules.gt]) : \'\'\n\265\001\n\r" + + "fixed64.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\275\001\n\027fixed64.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\305\001\n\016fixed64.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]) : \'\'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 m" + - "ust be greater than or equal to %s\'.form" + - "at([rules.gte]) : \'\'\n\305\001\n\017sfixed32.gte_lt" + - "\032\261\001has(rules.lt) && rules.lt >= rules.gt" + - "e && (this >= rules.lt || this < rules.g" + - "te)? \'value must be greater than or equa" + - "l to %s and less than %s\'.format([rules." + - "gte, rules.lt]) : \'\'\n\315\001\n\031sfixed32.gte_lt" + - "_exclusive\032\257\001has(rules.lt) && rules.lt <" + - " rules.gte && (rules.lt <= this && this " + - "< rules.gte)? \'value must be greater tha" + - "n or equal to %s or less than %s\'.format" + - "([rules.gte, rules.lt]) : \'\'\n\325\001\n\020sfixed3" + - "2.gte_lte\032\300\001has(rules.lte) && rules.lte " + - ">= rules.gte && (this > rules.lte || thi" + - "s < rules.gte)? \'value must be greater t" + - "han or equal to %s and less than or equa" + - "l to %s\'.format([rules.gte, rules.lte]) " + - ": \'\'\n\335\001\n\032sfixed32.gte_lte_exclusive\032\276\001ha" + - "s(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\002i" + - "n\030\006 \003(\017Bl\302Hi\ng\n\013sfixed32.in\032X!(this in d" + - "yn(rules)[\'in\']) ? \'value must be in lis" + - "t %s\'.format([dyn(rules)[\'in\']]) : \'\'R\002i" + - "n\022\200\001\n\006not_in\030\007 \003(\017Bi\302Hf\nd\n\017sfixed32.not_" + + ".lte]) : \'\'\n\315\001\n\030fixed64.gt_lte_exclusive" + + "\032\260\001has(rules.lte) && rules.lte < rules.g" + + "t && (rules.lte < this && this <= rules." + + "gt)? \'value must be greater than %s or l" + + "ess than or equal to %s\'.format([rules.g" + + "t, 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 < rules.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) && 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\314\001\n\030fixed64.g" + + "te_lt_exclusive\032\257\001has(rules.lt) && rules" + + ".lt < rules.gte && (rules.lt <= this && " + + "this < rules.gte)? \'value must be greate" + + "r than or equal to %s or less than %s\'.f" + + "ormat([rules.gte, rules.lt]) : \'\'\n\324\001\n\017fi" + + "xed64.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\334\001\n\031fixed64.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\022{" + + "\n\002in\030\006 \003(\006Bk\302Hh\nf\n\nfixed64.in\032X!(this in" + + " dyn(rules)[\'in\']) ? \'value must be in l" + + "ist %s\'.format([dyn(rules)[\'in\']]) : \'\'R" + + "\002in\022\177\n\006not_in\030\007 \003(\006Bh\302He\nc\n\016fixed64.not_" + "in\032Qthis in rules.not_in ? \'value must n" + "ot be in list %s\'.format([rules.not_in])" + " : \'\'R\005notInB\013\n\tless_thanB\016\n\014greater_tha" + - "nB\010\n\006_const\"\223\025\n\rSFixed64Rules\022x\n\005const\030\001" + - " \001(\020B]\302HZ\nX\n\016sfixed64.const\032Fthis != rul" + + "nB\010\n\006_const\"\223\025\n\rSFixed32Rules\022x\n\005const\030\001" + + " \001(\017B]\302HZ\nX\n\016sfixed32.const\032Fthis != rul" + "es.const ? \'value must equal %s\'.format(" + "[rules.const]) : \'\'H\002R\005const\210\001\001\022\221\001\n\002lt\030\002" + - " \001(\020B\177\302H|\nz\n\013sfixed64.lt\032k!has(rules.gte" + + " \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([ru" + - "les.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) && !h" + + "les.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!has(rules.gte) && !h" + "as(rules.gt) && this > rules.lte? \'value" + " must be less than or equal to %s\'.forma" + - "t([rules.lte]) : \'\'H\000R\003lte\022\252\007\n\002gt\030\004 \001(\020B" + - "\227\007\302H\223\007\n}\n\013sfixed64.gt\032n!has(rules.lt) &&" + + "t([rules.lte]) : \'\'H\000R\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) && this <= rules.gt? \'v" + "alue must be greater than %s\'.format([ru" + - "les.gt]) : \'\'\n\266\001\n\016sfixed64.gt_lt\032\243\001has(r" + - "ules.lt) && rules.lt >= rules.gt && (thi", + "les.gt]) : \'\'\n\266\001\n\016sfixed32.gt_lt\032\243\001has(r" + + "ules.lt) && rules.lt >= rules.gt && (thi" + "s >= rules.lt || this <= rules.gt)? \'val" + "ue 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." + + "\001\n\030sfixed32.gt_lt_exclusive\032\241\001has(rules." + "lt) && rules.lt < rules.gt && (rules.lt " + "<= this && this <= rules.gt)? \'value mus" + "t be greater than %s or less than %s\'.fo" + "rmat([rules.gt, rules.lt]) : \'\'\n\306\001\n\017sfix" + - "ed64.gt_lte\032\262\001has(rules.lte) && rules.lt" + + "ed32.gt_lte\032\262\001has(rules.lte) && rules.lt" + "e >= rules.gt && (this > rules.lte || th" + "is <= rules.gt)? \'value must be greater " + "than %s and less than or equal to %s\'.fo" + "rmat([rules.gt, rules.lte]) : \'\'\n\316\001\n\031sfi" + - "xed64.gt_lte_exclusive\032\260\001has(rules.lte) " + + "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\367\007\n\003gte\030\005 \001(\020B\342\007\302H\336\007\n\213\001\n\014sfixed6" + - "4.gte\032{!has(rules.lt) && !has(rules.lte)" + + "\'H\001R\002gt\022\367\007\n\003gte\030\005 \001(\017B\342\007\302H\336\007\n\213\001\n\014sfixed3" + + "2.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\305\001\n\017sfixed64.gte_lt\032\261\001has(rul" + + "gte]) : \'\'\n\305\001\n\017sfixed32.gte_lt\032\261\001has(rul" + "es.lt) && rules.lt >= rules.gte && (this" + " >= rules.lt || this < rules.gte)? \'valu" + "e must be greater than or equal to %s an" + "d less than %s\'.format([rules.gte, rules" + - ".lt]) : \'\'\n\315\001\n\031sfixed64.gte_lt_exclusive" + + ".lt]) : \'\'\n\315\001\n\031sfixed32.gte_lt_exclusive" + "\032\257\001has(rules.lt) && rules.lt < rules.gte" + " && (rules.lt <= this && this < rules.gt" + "e)? \'value must be greater than or equal" + " to %s or less than %s\'.format([rules.gt" + - "e, rules.lt]) : \'\'\n\325\001\n\020sfixed64.gte_lte\032" + + "e, rules.lt]) : \'\'\n\325\001\n\020sfixed32.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\335\001\n\032s" + - "fixed64.gte_lte_exclusive\032\276\001has(rules.lt" + + "fixed32.gte_lte_exclusive\032\276\001has(rules.lt" + "e) && rules.lte < rules.gte && (rules.lt" + "e < this && this < rules.gte)? \'value mu" + "st be greater than or equal to %s or les" + "s than or equal to %s\'.format([rules.gte" + - ", rules.lte]) : \'\'H\001R\003gte\022|\n\002in\030\006 \003(\020Bl\302" + - "Hi\ng\n\013sfixed64.in\032X!(this in dyn(rules)[" + + ", rules.lte]) : \'\'H\001R\003gte\022|\n\002in\030\006 \003(\017Bl\302" + + "Hi\ng\n\013sfixed32.in\032X!(this in dyn(rules)[" + "\'in\']) ? \'value must be in list %s\'.form" + "at([dyn(rules)[\'in\']]) : \'\'R\002in\022\200\001\n\006not_" + - "in\030\007 \003(\020Bi\302Hf\nd\n\017sfixed64.not_in\032Qthis i" + + "in\030\007 \003(\017Bi\302Hf\nd\n\017sfixed32.not_in\032Qthis i" + "n rules.not_in ? \'value must not be in l" + "ist %s\'.format([rules.not_in]) : \'\'R\005not" + "InB\013\n\tless_thanB\016\n\014greater_thanB\010\n\006_cons" + - "t\"\213\001\n\tBoolRules\022t\n\005const\030\001 \001(\010BY\302HV\nT\n\nb" + - "ool.const\032Fthis != rules.const ? \'value " + - "must equal %s\'.format([rules.const]) : \'" + - "\'H\000R\005const\210\001\001B\010\n\006_const\"\274\036\n\013StringRules\022" + - "x\n\005const\030\001 \001(\tB]\302HZ\nX\n\014string.const\032Hthi" + - "s != rules.const ? \'value must equal `%s" + - "`\'.format([rules.const]) : \'\'H\001R\005const\210\001" + - "\001\022\210\001\n\003len\030\023 \001(\004Bq\302Hn\nl\n\nstring.len\032^uint" + - "(this.size()) != rules.len ? \'value leng" + - "th must be %s characters\'.format([rules." + - "len]) : \'\'H\002R\003len\210\001\001\022\246\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([rule" + - "s.min_len]) : \'\'H\003R\006minLen\210\001\001\022\244\001\n\007max_le" + - "n\030\003 \001(\004B\205\001\302H\201\001\n\177\n\016string.max_len\032muint(t" + - "his.size()) > rules.max_len ? \'value len" + - "gth must be at most %s characters\'.forma" + - "t([rules.max_len]) : \'\'H\004R\006maxLen\210\001\001\022\252\001\n" + - "\tlen_bytes\030\024 \001(\004B\207\001\302H\203\001\n\200\001\n\020string.len_b" + - "ytes\032luint(bytes(this).size()) != rules." + - "len_bytes ? \'value length must be %s byt" + - "es\'.format([rules.len_bytes]) : \'\'H\005R\010le" + - "nBytes\210\001\001\022\262\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 mu" + - "st be at least %s bytes\'.format([rules.m" + - "in_bytes]) : \'\'H\006R\010minBytes\210\001\001\022\261\001\n\tmax_b" + - "ytes\030\005 \001(\004B\216\001\302H\212\001\n\207\001\n\020string.max_bytes\032s" + - "uint(bytes(this).size()) > rules.max_byt" + - "es ? \'value length must be at most %s by" + - "tes\'.format([rules.max_bytes]) : \'\'H\007R\010m" + - "axBytes\210\001\001\022\233\001\n\007pattern\030\006 \001(\tB|\302Hy\nw\n\016str" + - "ing.pattern\032e!this.matches(rules.pattern" + - ") ? \'value does not match regex pattern " + - "`%s`\'.format([rules.pattern]) : \'\'H\010R\007pa" + - "ttern\210\001\001\022\221\001\n\006prefix\030\007 \001(\tBt\302Hq\no\n\rstring" + - ".prefix\032^!this.startsWith(rules.prefix) " + - "? \'value does not have prefix `%s`\'.form" + - "at([rules.prefix]) : \'\'H\tR\006prefix\210\001\001\022\217\001\n" + - "\006suffix\030\010 \001(\tBr\302Ho\nm\n\rstring.suffix\032\\!th" + - "is.endsWith(rules.suffix) ? \'value does " + - "not have suffix `%s`\'.format([rules.suff" + - "ix]) : \'\'H\nR\006suffix\210\001\001\022\237\001\n\010contains\030\t \001(" + - "\tB~\302H{\ny\n\017string.contains\032f!this.contain" + - "s(rules.contains) ? \'value does not cont" + - "ain substring `%s`\'.format([rules.contai" + - "ns]) : \'\'H\013R\010contains\210\001\001\022\252\001\n\014not_contain" + - "s\030\027 \001(\tB\201\001\302H~\n|\n\023string.not_contains\032eth" + - "is.contains(rules.not_contains) ? \'value" + - " contains substring `%s`\'.format([rules." + - "not_contains]) : \'\'H\014R\013notContains\210\001\001\022z\n" + - "\002in\030\n \003(\tBj\302Hg\ne\n\tstring.in\032X!(this in d" + - "yn(rules)[\'in\']) ? \'value must be in lis" + - "t %s\'.format([dyn(rules)[\'in\']]) : \'\'R\002i" + - "n\022~\n\006not_in\030\013 \003(\tBg\302Hd\nb\n\rstring.not_in\032" + - "Qthis in rules.not_in ? \'value must not " + - "be in list %s\'.format([rules.not_in]) : " + - "\'\'R\005notIn\022`\n\005email\030\014 \001(\010BH\302HE\nC\n\014string." + - "email\022#value must be a valid email addre" + - "ss\032\016this.isEmail()H\000R\005email\022g\n\010hostname\030" + - "\r \001(\010BI\302HF\nD\n\017string.hostname\022\036value mus" + - "t be a valid hostname\032\021this.isHostname()" + - "H\000R\010hostname\022Q\n\002ip\030\016 \001(\010B?\302H<\n:\n\tstring." + - "ip\022 value must be a valid IP address\032\013th" + - "is.isIp()H\000R\002ip\022Z\n\004ipv4\030\017 \001(\010BD\302HA\n?\n\013st" + - "ring.ipv4\022\"value must be a valid IPv4 ad" + - "dress\032\014this.isIp(4)H\000R\004ipv4\022Z\n\004ipv6\030\020 \001(" + - "\010BD\302HA\n?\n\013string.ipv6\022\"value must be a v" + - "alid IPv6 address\032\014this.isIp(6)H\000R\004ipv6\022" + - "N\n\003uri\030\021 \001(\010B:\302H7\n5\n\nstring.uri\022\031value m" + - "ust be a valid URI\032\014this.isUri()H\000R\003uri\022" + - "\\\n\007uri_ref\030\022 \001(\010BA\302H>\n<\n\016string.uri_ref\022" + - "\031value must be a valid URI\032\017this.isUriRe" + - "f()H\000R\006uriRef\022\202\001\n\007address\030\025 \001(\010Bf\302Hc\na\n\016" + - "string.address\022-value must be a valid ho" + - "stname, or ip address\032 this.isHostname()" + - " || this.isIp()H\000R\007address\022\260\001\n\004uuid\030\026 \001(" + - "\010B\231\001\302H\225\001\n\222\001\n\013string.uuid\032\202\001!this.matches" + - "(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-f" + - "A-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\'" + - ") ? \'value must be a valid UUID\' : \'\'H\000R" + - "\004uuid\022\254\004\n\020well_known_regex\030\030 \001(\0162\030.buf.v" + - "alidate.KnownRegexB\345\003\302H\341\003\n\353\001\n#string.wel" + - "l_known_regex.header_name\032\303\001rules.well_k" + - "nown_regex == 1 && !this.matches(!has(ru" + - "les.strict) || rules.strict ?\'^:?[0-9a-z" + - "A-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u" + - "000A\\u000D]+$\') ? \'value must be a valid" + - " HTTP header name\' : \'\'\n\360\001\n$string.well_" + - "known_regex.header_value\032\307\001rules.well_kn" + - "own_regex == 2 && !this.matches(!has(rul" + - "es.strict) || rules.strict ?\'^[^\\u0000-\\" + - "u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000" + - "\\u000A\\u000D]*$\') ? \'value must be a val" + - "id HTTP header value\' : \'\'H\000R\016wellKnownR" + - "egex\022\033\n\006strict\030\031 \001(\010H\rR\006strict\210\001\001B\014\n\nwel" + - "l_knownB\010\n\006_constB\006\n\004_lenB\n\n\010_min_lenB\n\n" + - "\010_max_lenB\014\n\n_len_bytesB\014\n\n_min_bytesB\014\n" + - "\n_max_bytesB\n\n\010_patternB\t\n\007_prefixB\t\n\007_s" + - "uffixB\013\n\t_containsB\017\n\r_not_containsB\t\n\007_" + - "strict\"\332\016\n\nBytesRules\022r\n\005const\030\001 \001(\014BW\302H" + - "T\nR\n\013bytes.const\032Cthis != rules.const ? " + - "\'value must be %x\'.format([rules.const])" + - " : \'\'H\001R\005const\210\001\001\022\202\001\n\003len\030\r \001(\004Bk\302Hh\nf\n\t" + - "bytes.len\032Yuint(this.size()) != rules.le" + - "n ? \'value length must be %s bytes\'.form" + - "at([rules.len]) : \'\'H\002R\003len\210\001\001\022\235\001\n\007min_l" + - "en\030\002 \001(\004B\177\302H|\nz\n\rbytes.min_len\032iuint(thi" + - "s.size()) < rules.min_len ? \'value lengt" + - "h must be at least %s bytes\'.format([rul" + - "es.min_len]) : \'\'H\003R\006minLen\210\001\001\022\225\001\n\007max_l" + - "en\030\003 \001(\004Bw\302Ht\nr\n\rbytes.max_len\032auint(thi" + - "s.size()) > rules.max_len ? \'value must " + - "be at most %s bytes\'.format([rules.max_l" + - "en]) : \'\'H\004R\006maxLen\210\001\001\022\236\001\n\007pattern\030\004 \001(\t" + - "B\177\302H|\nz\n\rbytes.pattern\032i!string(this).ma" + - "tches(rules.pattern) ? \'value must match" + - " regex pattern `%s`\'.format([rules.patte" + - "rn]) : \'\'H\005R\007pattern\210\001\001\022\216\001\n\006prefix\030\005 \001(\014" + - "Bq\302Hn\nl\n\014bytes.prefix\032\\!this.startsWith(" + - "rules.prefix) ? \'value does not have pre" + - "fix %x\'.format([rules.prefix]) : \'\'H\006R\006p" + - "refix\210\001\001\022\214\001\n\006suffix\030\006 \001(\014Bo\302Hl\nj\n\014bytes." + - "suffix\032Z!this.endsWith(rules.suffix) ? \'" + - "value does not have suffix %x\'.format([r" + - "ules.suffix]) : \'\'H\007R\006suffix\210\001\001\022\222\001\n\010cont" + - "ains\030\007 \001(\014Bq\302Hn\nl\n\016bytes.contains\032Z!this" + - ".contains(rules.contains) ? \'value does " + - "not contain %x\'.format([rules.contains])" + - " : \'\'H\010R\010contains\210\001\001\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\']) ? \'val" + - "ue must be in list %s\'.format([dyn(rules" + - ")[\'in\']]) : \'\'R\002in\022}\n\006not_in\030\t \003(\014Bf\302Hc\n" + - "a\n\014bytes.not_in\032Qthis in rules.not_in ? " + - "\'value must not be in list %s\'.format([r" + - "ules.not_in]) : \'\'R\005notIn\022r\n\002ip\030\n \001(\010B`\302" + - "H]\n[\n\010bytes.ip\032Othis.size() != 4 && this" + - ".size() != 16 ? \'value must be a valid I" + - "P address\' : \'\'H\000R\002ip\022e\n\004ipv4\030\013 \001(\010BO\302HL" + - "\nJ\n\nbytes.ipv4\032 rules.max_items ? \'value must contai" + - "n no more than %s item(s)\'.format([rules" + - ".max_items]) : \'\'H\001R\010maxItems\210\001\001\022l\n\006uniq" + - "ue\030\003 \001(\010BO\302HL\nJ\n\017repeated.unique\022(repeat" + - "ed value must contain unique items\032\rthis" + - ".unique()H\002R\006unique\210\001\001\0229\n\005items\030\004 \001(\0132\036." + - "buf.validate.FieldConstraintsH\003R\005items\210\001" + - "\001B\014\n\n_min_itemsB\014\n\n_max_itemsB\t\n\007_unique" + - "B\010\n\006_items\"\361\003\n\010MapRules\022\236\001\n\tmin_pairs\030\001 " + - "\001(\004B|\302Hy\nw\n\rmap.min_pairs\032fuint(this.siz" + - "e()) < rules.min_pairs ? \'map must be at" + - " least %d entries\'.format([rules.min_pai" + - "rs]) : \'\'H\000R\010minPairs\210\001\001\022\235\001\n\tmax_pairs\030\002" + - " \001(\004B{\302Hx\nv\n\rmap.max_pairs\032euint(this.si" + - "ze()) > rules.max_pairs ? \'map must be a" + - "t most %d entries\'.format([rules.max_pai" + - "rs]) : \'\'H\001R\010maxPairs\210\001\001\0227\n\004keys\030\004 \001(\0132\036" + - ".buf.validate.FieldConstraintsH\002R\004keys\210\001" + - "\001\022;\n\006values\030\005 \001(\0132\036.buf.validate.FieldCo" + - "nstraintsH\003R\006values\210\001\001B\014\n\n_min_pairsB\014\n\n" + - "_max_pairsB\007\n\005_keysB\t\n\007_values\"1\n\010AnyRul" + - "es\022\016\n\002in\030\002 \003(\tR\002in\022\025\n\006not_in\030\003 \003(\tR\005notI" + - "n\"\322\026\n\rDurationRules\022\223\001\n\005const\030\002 \001(\0132\031.go" + - "ogle.protobuf.DurationB]\302HZ\nX\n\016duration." + - "const\032Fthis != rules.const ? \'value must" + - " equal %s\'.format([rules.const]) : \'\'H\002R" + - "\005const\210\001\001\022\254\001\n\002lt\030\003 \001(\0132\031.google.protobuf" + - ".DurationB\177\302H|\nz\n\013duration.lt\032k!has(rule" + - "s.gte) && !has(rules.gt) && this >= rule" + - "s.lt? \'value must be less than %s\'.forma" + - "t([rules.lt]) : \'\'H\000R\002lt\022\277\001\n\003lte\030\004 \001(\0132\031" + - ".google.protobuf.DurationB\217\001\302H\213\001\n\210\001\n\014dur" + - "ation.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) && t" + - "his <= rules.gt? \'value must be greater " + - "than %s\'.format([rules.gt]) : \'\'\n\266\001\n\016dur" + - "ation.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\030duration.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\017duration.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\031duration.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\222\010\n\003gte\030\006 \001(\013" + - "2\031.google.protobuf.DurationB\342\007\302H\336\007\n\213\001\n\014d" + - "uration.gte\032{!has(rules.lt) && !has(rule" + - "s.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\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\315\001\n\031duration.gte_lt_exc" + - "lusive\032\257\001has(rules.lt) && rules.lt < rul" + - "es.gte && (rules.lt <= this && this < ru" + - "les.gte)? \'value must be greater than or" + - " equal to %s or less than %s\'.format([ru" + - "les.gte, rules.lt]) : \'\'\n\325\001\n\020duration.gt" + - "e_lte\032\300\001has(rules.lte) && rules.lte >= r" + - "ules.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\335\001\n\032duration.gte_lte_exclusive\032\276\001has(ru" + - "les.lte) && rules.lte < rules.gte && (ru" + - "les.lte < this && this < rules.gte)? \'va" + - "lue must be greater than or equal to %s " + - "or less than or equal to %s\'.format([rul" + - "es.gte, rules.lte]) : \'\'H\001R\003gte\022\227\001\n\002in\030\007" + - " \003(\0132\031.google.protobuf.DurationBl\302Hi\ng\n\013" + - "duration.in\032X!(this in dyn(rules)[\'in\'])" + - " ? \'value must be in list %s\'.format([dy" + - "n(rules)[\'in\']]) : \'\'R\002in\022\233\001\n\006not_in\030\010 \003" + - "(\0132\031.google.protobuf.DurationBi\302Hf\nd\n\017du" + - "ration.not_in\032Qthis in rules.not_in ? \'v" + - "alue must not be in list %s\'.format([rul" + - "es.not_in]) : \'\'R\005notInB\013\n\tless_thanB\016\n\014" + - "greater_thanB\010\n\006_const\"\312\027\n\016TimestampRule" + - "s\022\225\001\n\005const\030\002 \001(\0132\032.google.protobuf.Time" + - "stampB^\302H[\nY\n\017timestamp.const\032Fthis != r" + - "ules.const ? \'value must equal %s\'.forma" + - "t([rules.const]) : \'\'H\002R\005const\210\001\001\022\257\001\n\002lt" + - "\030\003 \001(\0132\032.google.protobuf.TimestampB\200\001\302H}" + - "\n{\n\014timestamp.lt\032k!has(rules.gte) && !ha" + - "s(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.google.proto" + - "buf.TimestampB\220\001\302H\214\001\n\211\001\n\rtimestamp.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\022a\n\006lt_now\030\007 \001(\010BH\302HE\nC\n\020timestam" + - "p.lt_now\032/this > now ? \'value must be le" + - "ss than now\' : \'\'H\000R\005ltNow\022\313\007\n\002gt\030\005 \001(\0132" + - "\032.google.protobuf.TimestampB\234\007\302H\230\007\n~\n\014ti" + - "mestamp.gt\032n!has(rules.lt) && !has(rules" + - ".lte) && this <= rules.gt? \'value must b" + - "e greater than %s\'.format([rules.gt]) : " + - "\'\'\n\267\001\n\017timestamp.gt_lt\032\243\001has(rules.lt) &" + + "t\"\223\025\n\rSFixed64Rules\022x\n\005const\030\001 \001(\020B]\302HZ\n" + + "X\n\016sfixed64.const\032Fthis != rules.const ?" + + " \'value must equal %s\'.format([rules.con" + + "st]) : \'\'H\002R\005const\210\001\001\022\221\001\n\002lt\030\002 \001(\020B\177\302H|\n" + + "z\n\013sfixed64.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\244\001\n\003lte\030\003 \001(\020B\217\001\302H\213\001\n\210\001\n\014sfixe" + + "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\252\007\n\002gt\030\004 \001(\020B\227\007\302H\223\007\n}\n\013" + + "sfixed64.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\016sfixed64.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\277\001\n\031timesta" + - "mp.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\307\001\n\020timestamp.gt_" + - "lte\032\262\001has(rules.lte) && rules.lte >= rul" + - "es.gt && (this > rules.lte || this <= ru" + - "les.gt)? \'value must be greater than %s " + - "and less than or equal to %s\'.format([ru" + - "les.gt, rules.lte]) : \'\'\n\317\001\n\032timestamp.g" + - "t_lte_exclusive\032\260\001has(rules.lte) && rule" + - "s.lte < rules.gt && (rules.lte < this &&" + + "t([rules.gt, rules.lt]) : \'\'\n\276\001\n\030sfixed6" + + "4.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 or equal to %s\'." + - "format([rules.gt, rules.lte]) : \'\'H\001R\002gt" + - "\022\230\010\n\003gte\030\006 \001(\0132\032.google.protobuf.Timesta" + - "mpB\347\007\302H\343\007\n\214\001\n\rtimestamp.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\306\001\n\020tim" + - "estamp.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\316\001\n\032ti" + - "mestamp.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 t" + - "han %s\'.format([rules.gte, rules.lt]) : " + - "\'\'\n\326\001\n\021timestamp.gte_lte\032\300\001has(rules.lte" + - ") && rules.lte >= rules.gte && (this > r" + - "ules.lte || this < rules.gte)? \'value mu" + + "er than %s or less than %s\'.format([rule" + + "s.gt, rules.lt]) : \'\'\n\306\001\n\017sfixed64.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\031sfixed64.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\367\007" + + "\n\003gte\030\005 \001(\020B\342\007\302H\336\007\n\213\001\n\014sfixed64.gte\032{!ha" + + "s(rules.lt) && !has(rules.lte) && this <" + + " rules.gte? \'value must be greater than " + + "or equal to %s\'.format([rules.gte]) : \'\'" + + "\n\305\001\n\017sfixed64.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 tha" + + "n %s\'.format([rules.gte, rules.lt]) : \'\'" + + "\n\315\001\n\031sfixed64.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\325\001\n\020sfixed64.gte_lte\032\300\001has(rule" + + "s.lte) && rules.lte >= rules.gte && (thi" + + "s > rules.lte || this < rules.gte)? \'val" + + "ue must be greater than or equal to %s a" + + "nd less than or equal to %s\'.format([rul" + + "es.gte, rules.lte]) : \'\'\n\335\001\n\032sfixed64.gt" + + "e_lte_exclusive\032\276\001has(rules.lte) && rule" + + "s.lte < rules.gte && (rules.lte < this &" + + "& this < rules.gte)? \'value must be grea" + + "ter than or equal to %s or less than or " + + "equal to %s\'.format([rules.gte, rules.lt" + + "e]) : \'\'H\001R\003gte\022|\n\002in\030\006 \003(\020Bl\302Hi\ng\n\013sfix" + + "ed64.in\032X!(this in dyn(rules)[\'in\']) ? \'" + + "value must be in list %s\'.format([dyn(ru" + + "les)[\'in\']]) : \'\'R\002in\022\200\001\n\006not_in\030\007 \003(\020Bi" + + "\302Hf\nd\n\017sfixed64.not_in\032Qthis in rules.no" + + "t_in ? \'value must not be in list %s\'.fo" + + "rmat([rules.not_in]) : \'\'R\005notInB\013\n\tless" + + "_thanB\016\n\014greater_thanB\010\n\006_const\"\213\001\n\tBool" + + "Rules\022t\n\005const\030\001 \001(\010BY\302HV\nT\n\nbool.const\032" + + "Fthis != rules.const ? \'value must equal" + + " %s\'.format([rules.const]) : \'\'H\000R\005const" + + "\210\001\001B\010\n\006_const\"\274\036\n\013StringRules\022x\n\005const\030\001" + + " \001(\tB]\302HZ\nX\n\014string.const\032Hthis != rules" + + ".const ? \'value must equal `%s`\'.format(" + + "[rules.const]) : \'\'H\001R\005const\210\001\001\022\210\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([rules.len]) : \'\'" + + "H\002R\003len\210\001\001\022\246\001\n\007min_len\030\002 \001(\004B\207\001\302H\203\001\n\200\001\n\016" + + "string.min_len\032nuint(this.size()) < rule" + + "s.min_len ? \'value length must be at lea" + + "st %s characters\'.format([rules.min_len]" + + ") : \'\'H\003R\006minLen\210\001\001\022\244\001\n\007max_len\030\003 \001(\004B\205\001" + + "\302H\201\001\n\177\n\016string.max_len\032muint(this.size()" + + ") > rules.max_len ? \'value length must b" + + "e at most %s characters\'.format([rules.m" + + "ax_len]) : \'\'H\004R\006maxLen\210\001\001\022\252\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]) : \'\'H\005R\010lenBytes\210\001\001\022" + + "\262\001\n\tmin_bytes\030\004 \001(\004B\217\001\302H\213\001\n\210\001\n\020string.mi" + + "n_bytes\032tuint(bytes(this).size()) < rule" + + "s.min_bytes ? \'value length must be at l" + + "east %s bytes\'.format([rules.min_bytes])" + + " : \'\'H\006R\010minBytes\210\001\001\022\261\001\n\tmax_bytes\030\005 \001(\004" + + "B\216\001\302H\212\001\n\207\001\n\020string.max_bytes\032suint(bytes" + + "(this).size()) > rules.max_bytes ? \'valu" + + "e length must be at most %s bytes\'.forma" + + "t([rules.max_bytes]) : \'\'H\007R\010maxBytes\210\001\001" + + "\022\233\001\n\007pattern\030\006 \001(\tB|\302Hy\nw\n\016string.patter" + + "n\032e!this.matches(rules.pattern) ? \'value" + + " does not match regex pattern `%s`\'.form" + + "at([rules.pattern]) : \'\'H\010R\007pattern\210\001\001\022\221" + + "\001\n\006prefix\030\007 \001(\tBt\302Hq\no\n\rstring.prefix\032^!" + + "this.startsWith(rules.prefix) ? \'value d" + + "oes not have prefix `%s`\'.format([rules." + + "prefix]) : \'\'H\tR\006prefix\210\001\001\022\217\001\n\006suffix\030\010 " + + "\001(\tBr\302Ho\nm\n\rstring.suffix\032\\!this.endsWit" + + "h(rules.suffix) ? \'value does not have s" + + "uffix `%s`\'.format([rules.suffix]) : \'\'H" + + "\nR\006suffix\210\001\001\022\237\001\n\010contains\030\t \001(\tB~\302H{\ny\n\017" + + "string.contains\032f!this.contains(rules.co" + + "ntains) ? \'value does not contain substr" + + "ing `%s`\'.format([rules.contains]) : \'\'H" + + "\013R\010contains\210\001\001\022\252\001\n\014not_contains\030\027 \001(\tB\201\001" + + "\302H~\n|\n\023string.not_contains\032ethis.contain" + + "s(rules.not_contains) ? \'value contains " + + "substring `%s`\'.format([rules.not_contai" + + "ns]) : \'\'H\014R\013notContains\210\001\001\022z\n\002in\030\n \003(\tB" + + "j\302Hg\ne\n\tstring.in\032X!(this in dyn(rules)[" + + "\'in\']) ? \'value must be in list %s\'.form" + + "at([dyn(rules)[\'in\']]) : \'\'R\002in\022~\n\006not_i" + + "n\030\013 \003(\tBg\302Hd\nb\n\rstring.not_in\032Qthis in r" + + "ules.not_in ? \'value must not be in list" + + " %s\'.format([rules.not_in]) : \'\'R\005notIn\022" + + "`\n\005email\030\014 \001(\010BH\302HE\nC\n\014string.email\022#val" + + "ue must be a valid email address\032\016this.i" + + "sEmail()H\000R\005email\022g\n\010hostname\030\r \001(\010BI\302HF" + + "\nD\n\017string.hostname\022\036value must be a val" + + "id hostname\032\021this.isHostname()H\000R\010hostna" + + "me\022Q\n\002ip\030\016 \001(\010B?\302H<\n:\n\tstring.ip\022 value " + + "must be a valid IP address\032\013this.isIp()H" + + "\000R\002ip\022Z\n\004ipv4\030\017 \001(\010BD\302HA\n?\n\013string.ipv4\022" + + "\"value must be a valid IPv4 address\032\014thi" + + "s.isIp(4)H\000R\004ipv4\022Z\n\004ipv6\030\020 \001(\010BD\302HA\n?\n\013" + + "string.ipv6\022\"value must be a valid IPv6 " + + "address\032\014this.isIp(6)H\000R\004ipv6\022N\n\003uri\030\021 \001" + + "(\010B:\302H7\n5\n\nstring.uri\022\031value must be a v" + + "alid URI\032\014this.isUri()H\000R\003uri\022\\\n\007uri_ref" + + "\030\022 \001(\010BA\302H>\n<\n\016string.uri_ref\022\031value mus" + + "t be a valid URI\032\017this.isUriRef()H\000R\006uri" + + "Ref\022\202\001\n\007address\030\025 \001(\010Bf\302Hc\na\n\016string.add" + + "ress\022-value must be a valid hostname, or" + + " ip address\032 this.isHostname() || this.i" + + "sIp()H\000R\007address\022\260\001\n\004uuid\030\026 \001(\010B\231\001\302H\225\001\n\222" + + "\001\n\013string.uuid\032\202\001!this.matches(\'^[0-9a-f" + + "A-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0" + + "-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') ? \'value" + + " must be a valid UUID\' : \'\'H\000R\004uuid\022\254\004\n\020" + + "well_known_regex\030\030 \001(\0162\030.buf.validate.Kn" + + "ownRegexB\345\003\302H\341\003\n\353\001\n#string.well_known_re" + + "gex.header_name\032\303\001rules.well_known_regex" + + " == 1 && !this.matches(!has(rules.strict" + + ") || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'" + + "*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D" + + "]+$\') ? \'value must be a valid HTTP head" + + "er name\' : \'\'\n\360\001\n$string.well_known_rege" + + "x.header_value\032\307\001rules.well_known_regex " + + "== 2 && !this.matches(!has(rules.strict)" + + " || rules.strict ?\'^[^\\u0000-\\u0008\\u000" + + "A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u00" + + "0D]*$\') ? \'value must be a valid HTTP he" + + "ader value\' : \'\'H\000R\016wellKnownRegex\022\033\n\006st" + + "rict\030\031 \001(\010H\rR\006strict\210\001\001B\014\n\nwell_knownB\010\n" + + "\006_constB\006\n\004_lenB\n\n\010_min_lenB\n\n\010_max_lenB" + + "\014\n\n_len_bytesB\014\n\n_min_bytesB\014\n\n_max_byte" + + "sB\n\n\010_patternB\t\n\007_prefixB\t\n\007_suffixB\013\n\t_" + + "containsB\017\n\r_not_containsB\t\n\007_strict\"\332\016\n" + + "\nBytesRules\022r\n\005const\030\001 \001(\014BW\302HT\nR\n\013bytes" + + ".const\032Cthis != rules.const ? \'value mus" + + "t be %x\'.format([rules.const]) : \'\'H\001R\005c" + + "onst\210\001\001\022\202\001\n\003len\030\r \001(\004Bk\302Hh\nf\n\tbytes.len\032" + + "Yuint(this.size()) != rules.len ? \'value" + + " length must be %s bytes\'.format([rules." + + "len]) : \'\'H\002R\003len\210\001\001\022\235\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_len" + + "]) : \'\'H\003R\006minLen\210\001\001\022\225\001\n\007max_len\030\003 \001(\004Bw" + + "\302Ht\nr\n\rbytes.max_len\032auint(this.size()) " + + "> rules.max_len ? \'value must be at most" + + " %s bytes\'.format([rules.max_len]) : \'\'H" + + "\004R\006maxLen\210\001\001\022\236\001\n\007pattern\030\004 \001(\tB\177\302H|\nz\n\rb" + + "ytes.pattern\032i!string(this).matches(rule" + + "s.pattern) ? \'value must match regex pat" + + "tern `%s`\'.format([rules.pattern]) : \'\'H" + + "\005R\007pattern\210\001\001\022\216\001\n\006prefix\030\005 \001(\014Bq\302Hn\nl\n\014b" + + "ytes.prefix\032\\!this.startsWith(rules.pref" + + "ix) ? \'value does not have prefix %x\'.fo" + + "rmat([rules.prefix]) : \'\'H\006R\006prefix\210\001\001\022\214" + + "\001\n\006suffix\030\006 \001(\014Bo\302Hl\nj\n\014bytes.suffix\032Z!t" + + "his.endsWith(rules.suffix) ? \'value does" + + " not have suffix %x\'.format([rules.suffi" + + "x]) : \'\'H\007R\006suffix\210\001\001\022\222\001\n\010contains\030\007 \001(\014" + + "Bq\302Hn\nl\n\016bytes.contains\032Z!this.contains(" + + "rules.contains) ? \'value does not contai" + + "n %x\'.format([rules.contains]) : \'\'H\010R\010c" + + "ontains\210\001\001\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 && !(th" + + "is 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\014bytes.n" + + "ot_in\032Qthis in rules.not_in ? \'value mus" + + "t not be in list %s\'.format([rules.not_i" + + "n]) : \'\'R\005notIn\022r\n\002ip\030\n \001(\010B`\302H]\n[\n\010byte" + + "s.ip\032Othis.size() != 4 && this.size() !=" + + " 16 ? \'value must be a valid IP address\'" + + " : \'\'H\000R\002ip\022e\n\004ipv4\030\013 \001(\010BO\302HL\nJ\n\nbytes." + + "ipv4\032 rules." + + "max_items ? \'value must contain no more " + + "than %s item(s)\'.format([rules.max_items" + + "]) : \'\'H\001R\010maxItems\210\001\001\022l\n\006unique\030\003 \001(\010BO" + + "\302HL\nJ\n\017repeated.unique\022(repeated value m" + + "ust contain unique items\032\rthis.unique()H" + + "\002R\006unique\210\001\001\0229\n\005items\030\004 \001(\0132\036.buf.valida" + + "te.FieldConstraintsH\003R\005items\210\001\001B\014\n\n_min_" + + "itemsB\014\n\n_max_itemsB\t\n\007_uniqueB\010\n\006_items" + + "\"\361\003\n\010MapRules\022\236\001\n\tmin_pairs\030\001 \001(\004B|\302Hy\nw" + + "\n\rmap.min_pairs\032fuint(this.size()) < rul" + + "es.min_pairs ? \'map must be at least %d " + + "entries\'.format([rules.min_pairs]) : \'\'H" + + "\000R\010minPairs\210\001\001\022\235\001\n\tmax_pairs\030\002 \001(\004B{\302Hx\n" + + "v\n\rmap.max_pairs\032euint(this.size()) > ru" + + "les.max_pairs ? \'map must be at most %d " + + "entries\'.format([rules.max_pairs]) : \'\'H" + + "\001R\010maxPairs\210\001\001\0227\n\004keys\030\004 \001(\0132\036.buf.valid" + + "ate.FieldConstraintsH\002R\004keys\210\001\001\022;\n\006value" + + "s\030\005 \001(\0132\036.buf.validate.FieldConstraintsH" + + "\003R\006values\210\001\001B\014\n\n_min_pairsB\014\n\n_max_pairs" + + "B\007\n\005_keysB\t\n\007_values\"1\n\010AnyRules\022\016\n\002in\030\002" + + " \003(\tR\002in\022\025\n\006not_in\030\003 \003(\tR\005notIn\"\322\026\n\rDura" + + "tionRules\022\223\001\n\005const\030\002 \001(\0132\031.google.proto" + + "buf.DurationB]\302HZ\nX\n\016duration.const\032Fthi" + + "s != rules.const ? \'value must equal %s\'" + + ".format([rules.const]) : \'\'H\002R\005const\210\001\001\022" + + "\254\001\n\002lt\030\003 \001(\0132\031.google.protobuf.DurationB" + + "\177\302H|\nz\n\013duration.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\277\001\n\003lte\030\004 \001(\0132\031.google.pr" + + "otobuf.DurationB\217\001\302H\213\001\n\210\001\n\014duration.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\305\007\n\002gt\030\005 \001(\0132\031.google.protobuf." + + "DurationB\227\007\302H\223\007\n}\n\013duration.gt\032n!has(rul" + + "es.lt) && !has(rules.lte) && this <= rul" + + "es.gt? \'value must be greater than %s\'.f" + + "ormat([rules.gt]) : \'\'\n\266\001\n\016duration.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\276\001\n\030duration.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\306\001\n\017duration.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\316\001\n\031duration.gt_lte_exclusive\032\260\001has(ru" + + "les.lte) && rules.lte < rules.gt && (rul" + + "es.lte < this && this <= rules.gt)? \'val" + + "ue must be greater than %s or less than " + + "or equal to %s\'.format([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.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\305\001\n\017duration.gte_lt\032\261\001has(rules.l" + + "t) && rules.lt >= rules.gte && (this >= " + + "rules.lt || 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\336\001\n\033timestamp.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\022d\n\006gt_now\030\010 \001(\010BK\302HH\nF\n\020time" + - "stamp.gt_now\0322this < now ? \'value must b" + - "e greater than now\' : \'\'H\001R\005gtNow\022\305\001\n\006wi" + - "thin\030\t \001(\0132\031.google.protobuf.DurationB\214\001" + - "\302H\210\001\n\205\001\n\020timestamp.within\032qthis < now-ru" + - "les.within || this > now+rules.within ? " + - "\'value must be within %s of now\'.format(" + - "[rules.within]) : \'\'H\003R\006within\210\001\001B\013\n\tles" + - "s_thanB\016\n\014greater_thanB\010\n\006_constB\t\n\007_wit" + - "hin*n\n\nKnownRegex\022\033\n\027KNOWN_REGEX_UNSPECI" + - "FIED\020\000\022 \n\034KNOWN_REGEX_HTTP_HEADER_NAME\020\001" + - "\022!\n\035KNOWN_REGEX_HTTP_HEADER_VALUE\020\002:_\n\007m" + - "essage\022\037.google.protobuf.MessageOptions\030" + - "\207\t \001(\0132 .buf.validate.MessageConstraints" + - "R\007message\210\001\001:W\n\005oneof\022\035.google.protobuf." + - "OneofOptions\030\207\t \001(\0132\036.buf.validate.Oneof" + - "ConstraintsR\005oneof\210\001\001:W\n\005field\022\035.google." + - "protobuf.FieldOptions\030\207\t \001(\0132\036.buf.valid" + - "ate.FieldConstraintsR\005field\210\001\001Bn\n\022build." + - "buf.validateB\rValidateProtoP\001ZGbuf.build" + - "/gen/go/bufbuild/protovalidate/protocolb" + - "uffers/go/buf/validateb\006proto3" + "ss than %s\'.format([rules.gte, rules.lt]" + + ") : \'\'\n\315\001\n\031duration.gte_lt_exclusive\032\257\001h" + + "as(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, r" + + "ules.lt]) : \'\'\n\325\001\n\020duration.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\335\001\n\032durat" + + "ion.gte_lte_exclusive\032\276\001has(rules.lte) &" + + "& rules.lte < rules.gte && (rules.lte < " + + "this && this < rules.gte)? \'value must b" + + "e greater than or equal to %s or less th" + + "an or equal to %s\'.format([rules.gte, ru" + + "les.lte]) : \'\'H\001R\003gte\022\227\001\n\002in\030\007 \003(\0132\031.goo" + + "gle.protobuf.DurationBl\302Hi\ng\n\013duration.i" + + "n\032X!(this in dyn(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.googl" + + "e.protobuf.DurationBi\302Hf\nd\n\017duration.not" + + "_in\032Qthis in rules.not_in ? \'value must " + + "not be in list %s\'.format([rules.not_in]" + + ") : \'\'R\005notInB\013\n\tless_thanB\016\n\014greater_th" + + "anB\010\n\006_const\"\312\027\n\016TimestampRules\022\225\001\n\005cons" + + "t\030\002 \001(\0132\032.google.protobuf.TimestampB^\302H[" + + "\nY\n\017timestamp.const\032Fthis != rules.const" + + " ? \'value must equal %s\'.format([rules.c" + + "onst]) : \'\'H\002R\005const\210\001\001\022\257\001\n\002lt\030\003 \001(\0132\032.g" + + "oogle.protobuf.TimestampB\200\001\302H}\n{\n\014timest" + + "amp.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\301\001\n\003lte\030\004 \001(\0132\032.google.protobuf.Timest" + + "ampB\220\001\302H\214\001\n\211\001\n\rtimestamp.lte\032x!has(rules" + + ".gte) && !has(rules.gt) && this > rules." + + "lte? \'value must be less than or equal t" + + "o %s\'.format([rules.lte]) : \'\'H\000R\003lte\022a\n" + + "\006lt_now\030\007 \001(\010BH\302HE\nC\n\020timestamp.lt_now\032/" + + "this > now ? \'value must be less than no" + + "w\' : \'\'H\000R\005ltNow\022\313\007\n\002gt\030\005 \001(\0132\032.google.p" + + "rotobuf.TimestampB\234\007\302H\230\007\n~\n\014timestamp.gt" + + "\032n!has(rules.lt) && !has(rules.lte) && t" + + "his <= rules.gt? \'value must be greater " + + "than %s\'.format([rules.gt]) : \'\'\n\267\001\n\017tim" + + "estamp.gt_lt\032\243\001has(rules.lt) && rules.lt" + + " >= rules.gt && (this >= rules.lt || thi" + + "s <= rules.gt)? \'value must be greater t" + + "han %s and less than %s\'.format([rules.g" + + "t, rules.lt]) : \'\'\n\277\001\n\031timestamp.gt_lt_e" + + "xclusive\032\241\001has(rules.lt) && rules.lt < r" + + "ules.gt && (rules.lt <= this && this <= " + + "rules.gt)? \'value must be greater than %" + + "s or less than %s\'.format([rules.gt, rul" + + "es.lt]) : \'\'\n\307\001\n\020timestamp.gt_lte\032\262\001has(" + + "rules.lte) && rules.lte >= rules.gt && (" + + "this > rules.lte || this <= rules.gt)? \'" + + "value must be greater than %s and less t" + + "han or equal to %s\'.format([rules.gt, ru" + + "les.lte]) : \'\'\n\317\001\n\032timestamp.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\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) && !ha" + + "s(rules.lte) && this < rules.gte? \'value" + + " must be greater than or equal to %s\'.fo" + + "rmat([rules.gte]) : \'\'\n\306\001\n\020timestamp.gte" + + "_lt\032\261\001has(rules.lt) && rules.lt >= rules" + + ".gte && (this >= rules.lt || this < rule" + + "s.gte)? \'value must be greater than or e" + + "qual to %s and less than %s\'.format([rul" + + "es.gte, rules.lt]) : \'\'\n\316\001\n\032timestamp.gt" + + "e_lt_exclusive\032\257\001has(rules.lt) && rules." + + "lt < rules.gte && (rules.lt <= this && t" + + "his < rules.gte)? \'value must be greater" + + " than or equal to %s or less than %s\'.fo" + + "rmat([rules.gte, rules.lt]) : \'\'\n\326\001\n\021tim" + + "estamp.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\336\001\n\033timestamp.gte_lte_exclusiv" + + "e\032\276\001has(rules.lte) && rules.lte < rules." + + "gte && (rules.lte < this && this < rules" + + ".gte)? \'value must be greater than or eq" + + "ual to %s or less than or equal to %s\'.f" + + "ormat([rules.gte, rules.lte]) : \'\'H\001R\003gt" + + "e\022d\n\006gt_now\030\010 \001(\010BK\302HH\nF\n\020timestamp.gt_n" + + "ow\0322this < now ? \'value must be greater " + + "than now\' : \'\'H\001R\005gtNow\022\305\001\n\006within\030\t \001(\013" + + "2\031.google.protobuf.DurationB\214\001\302H\210\001\n\205\001\n\020t" + + "imestamp.within\032qthis < now-rules.within" + + " || this > now+rules.within ? \'value mus" + + "t be within %s of now\'.format([rules.wit" + + "hin]) : \'\'H\003R\006within\210\001\001B\013\n\tless_thanB\016\n\014" + + "greater_thanB\010\n\006_constB\t\n\007_within*n\n\nKno" + + "wnRegex\022\033\n\027KNOWN_REGEX_UNSPECIFIED\020\000\022 \n\034" + + "KNOWN_REGEX_HTTP_HEADER_NAME\020\001\022!\n\035KNOWN_", + "REGEX_HTTP_HEADER_VALUE\020\002:_\n\007message\022\037.g" + + "oogle.protobuf.MessageOptions\030\207\t \001(\0132 .b" + + "uf.validate.MessageConstraintsR\007message\210" + + "\001\001:W\n\005oneof\022\035.google.protobuf.OneofOptio" + + "ns\030\207\t \001(\0132\036.buf.validate.OneofConstraint" + + "sR\005oneof\210\001\001:W\n\005field\022\035.google.protobuf.F" + + "ieldOptions\030\207\t \001(\0132\036.buf.validate.FieldC" + + "onstraintsR\005field\210\001\001Bn\n\022build.buf.valida" + + "teB\rValidateProtoP\001ZGbuf.build/gen/go/bu" + + "fbuild/protovalidate/protocolbuffers/go/" + + "buf/validateb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData,